{"version":3,"file":"static/chunks/pages/detail/[...slug]-22088cd7f6871ab4.js","mappings":"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","sources":["webpack://_N_E/?5c8c","webpack://_N_E/./components/common/ActivityIcon.tsx","webpack://_N_E/./models/tour.ts","webpack://_N_E/./utils/queries/hooks/useRelatedTours.ts","webpack://_N_E/./utils/hooks/useSticky.ts","webpack://_N_E/./components/detail/InterestedIn.tsx","webpack://_N_E/./components/detail/tags/TagsPackageType.tsx","webpack://_N_E/./public/custom-icons/detail-custom/ticket.svg","webpack://_N_E/./public/custom-icons/detail-custom/geotag.svg","webpack://_N_E/./public/custom-icons/detail-custom/keys.svg","webpack://_N_E/./public/custom-icons/detail-custom/english-flag.svg","webpack://_N_E/./public/custom-icons/detail-custom/spanish-flag.svg","webpack://_N_E/./public/custom-icons/detail-custom/french-flag.svg","webpack://_N_E/./public/custom-icons/detail-custom/italian-flag.svg","webpack://_N_E/./public/custom-icons/detail-custom/pointer.svg","webpack://_N_E/./utils/svg-icon/detailPackageCustom.ts","webpack://_N_E/./components/detail/HeadBox.tsx","webpack://_N_E/./components/detail/PackageDetailHead.tsx","webpack://_N_E/./public/images/adventures_box.png","webpack://_N_E/./public/images/discover_box.png","webpack://_N_E/./public/images/expert_box.png","webpack://_N_E/./components/detail/WhyChoosePlay.tsx","webpack://_N_E/./components/detail/PackageDetailNavbarItem.tsx","webpack://_N_E/./components/detail/PackageDetailNavbar.tsx","webpack://_N_E/./components/detail/PackageDetailRecap.tsx","webpack://_N_E/./components/detail/DetailFixedBarMobile.tsx","webpack://_N_E/./components/detail/addToCart/modal/ModalCartContainer.tsx","webpack://_N_E/./components/common/info/InfoModalDouble.tsx","webpack://_N_E/./components/common/info/InfoModalVideo.tsx","webpack://_N_E/./components/common/info/InfoModalPremium.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/DatePickerSectionDetail.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/ChooseExperienceSectionDetail.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/DiscountSectionDetail.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/PackageConfigurationSectionDetail.tsx","webpack://_N_E/./components/common/ConvertCurrentCurrency.tsx","webpack://_N_E/./components/detail/PackageDetailAddToCartBoxInfo.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/FinalPriceSectionDetail.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/ButtonBuySectionDetail.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/DetailBookingConfigurator.tsx","webpack://_N_E/./components/detail/DetailBooking/PackageDetailBookingMobile.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/Accordion.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/AccordionItemActivity.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/ActivityIconBody.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/Sidebar.tsx","webpack://_N_E/./components/detail/PackageDetailDescriptionCard.tsx","webpack://_N_E/./components/detail/PackageDetailDescriptionCarousel.tsx","webpack://_N_E/./components/detail/PackageDetailDescription.tsx","webpack://_N_E/./components/detail/DetailBooking/DetailBookingSidebar/TravelExperienceSectionDetail.tsx","webpack://_N_E/./components/detail/DetailBooking/PackageDetailBooking.tsx","webpack://_N_E/./components/detail/ModalMap.tsx","webpack://_N_E/./utils/hooks/useForwardRef.ts","webpack://_N_E/./components/detail/TravelExperiencesStepCard.tsx","webpack://_N_E/./components/detail/TravelExperiencesStep.tsx","webpack://_N_E/./components/detail/PackageDetailHotelCard.tsx","webpack://_N_E/./components/detail/PackageDetailHotelGallery.tsx","webpack://_N_E/./components/detail/OvernightAccomodations/OvernightCarousel.tsx","webpack://_N_E/./components/detail/OvernightAccomodations/OvernightAccomodations.tsx","webpack://_N_E/./components/detail/PhotoGallery.tsx","webpack://_N_E/./components/detail/PackageDetailBody.tsx","webpack://_N_E/./pages/detail/[...slug].tsx","webpack://_N_E/./public/custom-icons/icons-2/icons/Coin/Line.svg","webpack://_N_E/./utils/svg-icon/business.ts","webpack://_N_E/./styles/common/ActivityIcon.module.scss","webpack://_N_E/./styles/detail/Detail.ModalMap.module.scss","webpack://_N_E/./styles/detail/Detail.PhotoGallery.module.scss","webpack://_N_E/./styles/detail/Detail.TravelExperiencesStep.module.scss","webpack://_N_E/./styles/detail/Detail.TravelExperiencesStepCard.module.scss","webpack://_N_E/./styles/detail/Detail.WhyChoosePlay.module.scss","webpack://_N_E/./styles/detail/DetailAccomodations.module.scss","webpack://_N_E/./styles/detail/DetailBooking.module.scss","webpack://_N_E/./styles/detail/DetailBookingSidebar/AccordionItemActivity.module.scss","webpack://_N_E/./styles/detail/DetailBookingSidebar/ActivityIconBody.module.scss","webpack://_N_E/./styles/detail/DetailBookingSidebar/ChooseExperienceSectionDetail.module.scss","webpack://_N_E/./styles/detail/DetailBookingSidebar/InfoModalPremium.module.scss","webpack://_N_E/./styles/detail/DetailBookingSidebar/PackageConfigurationSectionDetail.module.scss","webpack://_N_E/./styles/detail/DetailBookingSidebar/Sidebar.module.scss","webpack://_N_E/./styles/detail/DetailBookingSidebar/TravelExperienceSectionDetail.module.scss","webpack://_N_E/./styles/detail/DetailDescription.module.scss","webpack://_N_E/./styles/detail/DetailFixedBar.module.scss","webpack://_N_E/./styles/detail/DetailHead.module.scss","webpack://_N_E/./styles/detail/DetailHotelCard.module.scss","webpack://_N_E/./styles/detail/DetailHotelGallery.module.scss","webpack://_N_E/./styles/detail/DetailRecap.module.scss","webpack://_N_E/./styles/search/Search.Card.module.scss","webpack://_N_E/<anon>"],"sourcesContent":["\n    (window.__NEXT_P = window.__NEXT_P || []).push([\n      \"/detail/[...slug]\",\n      function () {\n        return require(\"private-next-pages/detail/[...slug].tsx\");\n      }\n    ]);\n    if(module.hot) {\n      module.hot.dispose(function () {\n        window.__NEXT_P.push([\"/detail/[...slug]\"])\n      });\n    }\n  ","import Image from \"next/image\";\nimport { FC, useState } from \"react\";\nimport styles from \"../../styles/common/ActivityIcon.module.scss\";\n\nconst ActivityIcon: FC<{\n    borderColor: string;\n    src: string;\n    alt: string;\n    className?: string;\n    isSmall?: boolean;\n}> = ({ borderColor, src, alt, className = \"\", isSmall = false }) => {\n    const [imageError, setImageError] = useState(false);\n    return (\n        <span\n            className={\n                isSmall\n                    ? styles.spanIconContainerSmall\n                    : styles.spanIconContainerNormal\n            }\n            style={{\n                position: \"relative\",\n                border: `2px solid ${imageError ? \"red\" : borderColor}`,\n            }}\n        >\n            <Image\n                src={imageError ? \"/images/binoculars.png\" : src}\n                width={100}\n                height={100}\n                style={{\n                    objectFit: \"contain\",\n                    position: \"unset\",\n                    height: \"120%\",\n                    width: \"110%\",\n                }}\n                className={className}\n                alt={alt}\n                onError={() => {\n                    setImageError(true);\n                }}\n            />\n        </span>\n    );\n};\n\nexport default ActivityIcon;\n","import { TourReadableTO, TourResponseTO } from \"@/models/detail\";\n\nexport interface TourGAnalytics {\n    item_id: string;\n    item_name: string;\n    price: string;\n    item_brand: string;\n    item_category: string;\n    item_variant: string;\n}\n\nconst adapterItemGAnalytics = (item: TourReadableTO, variant: string) => ({\n    item_id: item.tourId,\n    item_name: item.tourTitle,\n    item_brand: \"Play Italy\",\n    item_category: item.tourType,\n    item_variant: variant,\n    price: item.price,\n    quantity: 1,\n});\n\nconst adapterTourViewItemGAnalytics = (tour: TourResponseTO) => {\n    const itemsAdapted: TourGAnalytics[] = [];\n    const productQuality = tour?.quality;\n    const productPremium = tour?.premium;\n\n    if (productQuality) {\n        itemsAdapted.push(adapterItemGAnalytics(productQuality, \"quality\"));\n    }\n    if (productPremium) {\n        itemsAdapted.push(adapterItemGAnalytics(productPremium, \"premium\"));\n    }\n\n    return {\n        currency: \"EUR\",\n        value: productQuality?.price || productPremium?.price || 0.0,\n        items: itemsAdapted,\n    };\n};\n\nexport default adapterTourViewItemGAnalytics;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { getRelatedTours } from \"@/utils/queries\";\n\nconst useRelatedToursData = (id: string, isPremium: boolean) => {\n    const { data: tours } = useQuery({\n        queryKey: [\"relatedTours\", id],\n        queryFn: () => getRelatedTours(id),\n    });\n\n    return isPremium ? tours?.premium : tours?.quality;\n};\n\nexport default useRelatedToursData;\n","import { useEffect, useRef, useState } from \"react\";\n\nconst useSticky = (initialOffset = 0) => {\n    const stickyRef = useRef<HTMLDivElement>(null);\n    const [sticky, setSticky] = useState(false);\n    const [offset, setOffset] = useState(initialOffset);\n\n    useEffect(() => {\n        if (!stickyRef.current) {\n            return;\n        }\n        setOffset(stickyRef.current.offsetTop);\n    }, [stickyRef, setOffset]);\n\n    useEffect(() => {\n        const handleScroll = () => {\n            if (!stickyRef.current) {\n                return;\n            }\n\n            const condition =\n                window.scrollY > offset + 150 ||\n                (sticky &&\n                    window.scrollY > offset &&\n                    window.scrollY <= offset + 150);\n\n            setSticky(condition);\n        };\n        window.addEventListener(\"scroll\", handleScroll);\n        return () => window.removeEventListener(\"scroll\", handleScroll);\n    }, [setSticky, stickyRef, offset]);\n    return { stickyRef, sticky, setOffset };\n};\n\nexport default useSticky;\n","import { MDBContainer } from \"mdb-react-ui-kit\";\nimport { FC } from \"react\";\nimport {\n    interestedInSubTitle,\n    interestedInTitle,\n} from \"@/utils/mockData/detailMocks\";\nimport { TBreackpointsCarousel } from \"@/models/common/common\";\nimport { ToursEntity } from \"@/models/home\";\nimport SectionCarouselLayout from \"../common/SectionCarouselLayout\";\nimport CardTour from \"../home/cards/cardTour/CardTour\";\n\n/* eslint-disable no-underscore-dangle */\nconst InterestedIn: FC<{ content: ToursEntity[] }> = ({ content }) => {\n    const breackPointCarousel: TBreackpointsCarousel = {\n        0: {\n            slidesPerView: 1.3,\n            height: 533,\n            spaceBetween: 12,\n        },\n        576: {\n            slidesPerView: 2,\n            height: 533,\n            spaceBetween: 12,\n        },\n        768: {\n            slidesPerView: 2.5,\n            height: 533,\n            spaceBetween: 12,\n        },\n        992: {\n            slidesPerView: 3,\n            height: 533,\n            spaceBetween: 12,\n        },\n        1200: {\n            slidesPerView: 3.5,\n            height: 533,\n            spaceBetween: 32,\n        },\n        1400: {\n            slidesPerView: 3.5,\n            spaceBetween: 32,\n            height: 568,\n        },\n        1600: {\n            slidesPerView: 4.5,\n            spaceBetween: 32,\n            height: 568,\n        },\n        1920: {\n            slidesPerView: 5.5,\n            spaceBetween: 32,\n            height: 568,\n        },\n    };\n\n    return (\n        <MDBContainer\n            fluid\n            className=\"py-5 px-0\"\n            style={{ backgroundColor: \"#FCFCFC\" }}\n        >\n            <SectionCarouselLayout\n                visibleSlides={3.5}\n                sectionTitle={interestedInTitle}\n                sectionSubTitle={interestedInSubTitle}\n                breakpointsCarousel={breackPointCarousel}\n                isCarouselContained={false}\n            >\n                {content.map(item => (\n                    <CardTour\n                        className=\"mx-2 mx-md-0 m-4\"\n                        key={item._id}\n                        content={item}\n                    />\n                ))}\n            </SectionCarouselLayout>\n        </MDBContainer>\n    );\n};\n/* eslint-enable no-underscore-dangle */\n\nexport default InterestedIn;\n","import { FC } from \"react\";\nimport stylesCard from \"@/styles/search/Search.Card.module.scss\";\nimport socialAndBrandSvg from \"@/utils/svg-icon/socialAndBrand\";\nimport userInterfaceSvg from \"@/utils/svg-icon/userInterface\";\n\nconst TagsPackageType: FC<{\n    isPremium: boolean;\n}> = ({ isPremium }) => {\n    return (\n        <div className=\"d-flex justify-content-center\">\n            <div\n                className={\n                    isPremium\n                        ? stylesCard.cardLabelPremium\n                        : stylesCard.cardLabelQuality\n                }\n            >\n                <div>\n                    {isPremium ? (\n                        <socialAndBrandSvg.SketchLine />\n                    ) : (\n                        <userInterfaceSvg.StarLine />\n                    )}\n                </div>\n                <span style={{ color: \"#000\", textTransform: \"capitalize\" }}>\n                    {isPremium ? \"ONLY PREMIUM\" : \"ONLY QUALITY\"}\n                </span>\n            </div>\n        </div>\n    );\n};\n\nexport default TagsPackageType;\n","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgTicket = function SvgTicket(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 42,\n    height: 41,\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M9.726 39.262a.46.46 0 0 1-.647-.189L1.67 25.561a.459.459 0 0 1 .189-.647l3.852-2.1-.78-1.426-3.853 2.1a2.106 2.106 0 0 0-.809 2.853l7.409 13.486a2.073 2.073 0 0 0 1.832 1.077c.35 0 .674-.081.997-.27l3.852-2.1-.781-1.426-3.852 2.154ZM41.407 12.667 30.793 1.577c-.404-.404-.916-.646-1.482-.646h-.027c-.566 0-1.077.215-1.455.592L10.938 18.104 6.573 20.5l.782 1.427L29.5 9.814a.46.46 0 0 1 .646.188l7.409 13.486a.458.458 0 0 1-.189.646l-22.172 12.14.782 1.426 22.172-12.14c1.023-.565 1.373-1.83.835-2.853l-1.67-3.068 4.094-4.011a2.137 2.137 0 0 0 0-2.961Zm-1.158 1.776-3.772 3.715-4.903-8.964c-.566-1.022-1.832-1.372-2.856-.834l-12.58 6.891 12.796-12.57a.512.512 0 0 1 .35-.135c.135 0 .243.054.35.134L40.25 13.77c.188.189.188.512 0 .673ZM7.356 22.081l-1.418.776 1.295 2.361 1.417-.776-1.294-2.36ZM9.403 25.845l-1.418.776 1.424 2.596 1.418-.776-1.424-2.596ZM11.589 29.826l-1.418.776 1.424 2.597 1.418-.776-1.424-2.597ZM13.777 33.787l-1.418.776 1.295 2.361 1.418-.776-1.295-2.36Z\",\n    fill: \"#282838\"\n  })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"m24.543 16.57-.135-.188c-.08-.108-.189-.135-.323-.081l-.216.08c-.485.189-.835.62-.97 1.104l-.916 3.015-6.007 2.288-.35 1.265 5.603-.673-.781 3.903-1.482.996-.162.593 1.886-.27 1.455 1.238.162-.592-.755-1.588 1.455-3.795 4.364 3.607.35-1.212-3.825-5.168.862-3.041c.162-.512.081-1.05-.215-1.481Z\",\n    fill: \"#282838\"\n  })));\n};\nexport default SvgTicket;","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgGeotag = function SvgGeotag(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 32,\n    height: 35,\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M15.298 21.954v8.104c0 .372.313.678.705.678.386 0 .704-.3.704-.678v-8.104c3.119-.076 7.62-.683 7.62-2.568V17.58c0-.871-.927-1.544-2.759-1.997a12.94 12.94 0 0 0-.757-.163V9.218l3.294-2.94a.668.668 0 0 0 .222-.495V3.51C24.322 1.476 19.09.93 15.997.93c-3.092 0-8.324.546-8.324 2.58v2.273c0 .188.08.367.223.494l3.293 2.94v6.198c-.27.051-.524.108-.757.164-1.832.458-2.759 1.131-2.759 1.997v1.805c0 1.89 4.501 2.492 7.625 2.573Zm.7-19.668c4.098 0 6.598.795 6.9 1.203-.345.464-2.839 1.244-6.9 1.244-4.004 0-6.482-.76-6.885-1.223.403-.47 2.881-1.224 6.884-1.224ZM9.081 5.482v-.433c1.768.79 4.83 1.04 6.92 1.04 2.087 0 5.148-.25 6.917-1.04v.433l-3.294 2.94a.66.66 0 0 0-.223.495v6.886c-.333.204-1.514.52-3.4.52-1.884 0-3.07-.316-3.399-.52v-6.88a.66.66 0 0 0-.222-.495l-3.3-2.946Zm1.705 11.406c.233-.06.492-.112.762-.158.948.872 3.538.953 4.454.953.916 0 3.5-.081 4.453-.953.265.051.524.102.757.158 1.414.352 1.684.744 1.706.693l.01 1.749c-.243.458-2.764 1.279-6.926 1.279-4.162 0-6.688-.82-6.916-1.223l-.01-1.748c-.006-.006.227-.378 1.71-.75Z\",\n    fill: \"#131313\"\n  })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M14.478 15.293c.26 0 .47-.204.47-.453V8.922a.464.464 0 0 0-.47-.453.464.464 0 0 0-.472.453v5.923c0 .25.212.448.472.448ZM18.11 25.231v1.356c7.784.286 12.481 2.12 12.481 3.471 0 1.468-5.55 3.517-14.594 3.517s-14.594-2.05-14.594-3.517c0-1.35 4.703-3.185 12.481-3.47V25.23C6.688 25.501 0 27.143 0 30.058c0 3.196 8.049 4.867 15.997 4.867 7.949 0 15.998-1.671 15.998-4.867.005-2.91-6.683-4.556-13.885-4.827Z\",\n    fill: \"#131313\"\n  })));\n};\nexport default SvgGeotag;","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgKeys = function SvgKeys(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 32,\n    height: 33,\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M29.14 3.84A9.807 9.807 0 0 0 22.14.93a9.694 9.694 0 0 0-6.953 2.91c-2.662 2.662-3.451 6.459-2.465 9.812L0 26.372l.542 6.016 6.016.543 1.726-1.775.049-3.65 3.057-.048.345-2.022 2.663-.493.049-2.07 2.17-.05 2.613-2.663a9.363 9.363 0 0 0 2.86.444 9.694 9.694 0 0 0 6.952-2.91c1.873-1.873 2.909-4.338 2.909-6.951.049-2.564-.986-5.079-2.81-6.903Zm-13.017 17.8-2.86.049-.049 2.219-2.514.443-.346 1.923-3.205.05-.049 4.339-.986.986-4.388-.395-.099-1.282L9.22 22.38l-.887-.888-6.903 6.854-.148-1.528 11.932-11.933c.493 1.036 1.134 2.022 1.972 2.86a9.568 9.568 0 0 0 2.86 1.973l-1.923 1.922Zm12.13-4.734c-1.627 1.627-3.797 2.515-6.114 2.515-2.318 0-4.487-.888-6.114-2.515-3.353-3.353-3.353-8.826 0-12.179 1.627-1.627 3.796-2.514 6.114-2.514 2.317 0 4.487.887 6.114 2.514 1.627 1.627 2.514 3.797 2.514 6.114a8.545 8.545 0 0 1-2.514 6.065Z\",\n    fill: \"#282838\"\n  })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M24.9 5.27c-.74 0-1.43.295-1.923.788-1.085 1.085-1.085 2.81 0 3.846a2.722 2.722 0 0 0 1.923.79c.74 0 1.43-.297 1.923-.79a2.722 2.722 0 0 0 .789-1.923c0-.74-.296-1.43-.79-1.923A2.722 2.722 0 0 0 24.9 5.27Zm1.085 3.796c-.592.592-1.578.592-2.12 0a1.488 1.488 0 0 1 0-2.12 1.45 1.45 0 0 1 1.084-.444c.395 0 .79.148 1.085.444.296.296.444.64.444 1.085-.05.394-.198.789-.493 1.035Z\",\n    fill: \"#282838\"\n  })));\n};\nexport default SvgKeys;","var _path, _path2, _path3, _path4;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgEnglishFlag = function SvgEnglishFlag(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 20,\n    height: 20,\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M10.02 20.002c5.524-.008 9.992-4.492 9.982-10.015-.01-5.523-4.496-9.993-10.019-9.985C4.461.01-.008 4.494.003 10.017c.01 5.522 4.495 9.993 10.018 9.985Z\",\n    fill: \"#fff\"\n  })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M11.995 19.773V12.046c0-.038.025-.051.063-.051h7.753c.126-.644.202-1.338.202-2.02 0-.682-.064-1.39-.202-2.02h-7.652c-.164 0-.164.025-.164-.127V.19A8.62 8.62 0 0 0 10.278 0h-.543C9.14 0 8.56.088 7.992.202v7.727c0 .038-.025.063-.063.063H.202A9.584 9.584 0 0 0 0 10c0 .682.063 1.364.202 1.995h7.626c.152 0 .152 0 .152.152v7.613a8.868 8.868 0 0 0 1.742.177h.543a7.806 7.806 0 0 0 1.73-.164Z\",\n    fill: \"#FF1300\"\n  })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M6.667 5.96V.568a10.06 10.06 0 0 0-4.546 3.27c1.465.733 2.942 1.465 4.407 2.21.139.063.139.063.139-.088ZM13.434 6.048c1.478-.745 2.955-1.477 4.432-2.222a9.912 9.912 0 0 0-4.558-3.27V5.96c0 .151 0 .151.126.088ZM6.54 13.952c-1.477.732-2.942 1.477-4.419 2.21a10.059 10.059 0 0 0 4.546 3.27V14.04c0-.151 0-.151-.127-.088ZM13.308 14.04v5.405a9.912 9.912 0 0 0 4.558-3.27c-1.477-.733-2.954-1.478-4.432-2.21-.126-.076-.126-.076-.126.076Z\",\n    fill: \"#3C3B6E\"\n  })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M13.775 6.604c-.025.012-.063.025-.088.063.038.012.076.012.114.012h2.689c.1 0 .19-.025.278-.063.72-.366 1.44-.72 2.159-1.086a9.652 9.652 0 0 0-.682-1.161l-.303.151a639.308 639.308 0 0 1-4.167 2.084ZM6.2 13.397c.025-.013.063-.026.088-.064-.038-.012-.076-.012-.114-.012h-2.69a.69.69 0 0 0-.277.063c-.72.354-1.427.72-2.146 1.073.202.404.429.796.681 1.162.089-.05.19-.089.278-.14 1.39-.694 2.778-1.388 4.18-2.082ZM3.32 6.654a.378.378 0 0 0-.1-.05c-.72-.367-1.44-.72-2.16-1.086a9.25 9.25 0 0 0-.492 1.149h2.664c.026.012.05.012.089-.013ZM16.667 13.333c.025.038.063.038.088.064.72.366 1.452.72 2.172 1.085a9.43 9.43 0 0 0 .492-1.161h-2.69c-.012 0-.037 0-.062.012Z\",\n    fill: \"#FF1300\"\n  })));\n};\nexport default SvgEnglishFlag;","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgSpanishFlag = function SvgSpanishFlag(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 20,\n    height: 20,\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M20 10.095c0-1.982-.568-3.763-1.553-5.404H1.553C.568 6.332 0 8.113 0 10.095c0 1.944.556 3.813 1.503 5.328h16.994C19.444 13.908 20 12.04 20 10.095Z\",\n    fill: \"#FFCD00\"\n  })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M10 .032c-3.548 0-6.667 2.007-8.447 4.659h16.894C16.667 2.039 13.548.03 10 .03ZM18.497 15.423H1.503c1.553 2.526 4.166 4.167 7.21 4.546h2.562c3.056-.379 5.67-2.02 7.222-4.546Z\",\n    fill: \"#FF1300\"\n  })));\n};\nexport default SvgSpanishFlag;","var _path, _path2, _path3;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgFrenchFlag = function SvgFrenchFlag(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 21,\n    height: 20,\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M13.77.568v18.864c3.914-1.364 6.705-5.076 6.705-9.432 0-4.356-2.79-8.068-6.705-9.432Z\",\n    fill: \"#FF1300\"\n  })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M10.5 0a9.657 9.657 0 0 0-3.295.568V19.42a9.656 9.656 0 0 0 3.295.568c1.162 0 2.26-.202 3.27-.568V.57A9.565 9.565 0 0 0 10.5 0Z\",\n    fill: \"#fff\"\n  })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M.525 10a9.977 9.977 0 0 0 6.68 9.432V.568A9.977 9.977 0 0 0 .525 10Z\",\n    fill: \"#004FBB\"\n  })));\n};\nexport default SvgFrenchFlag;","var _path, _path2, _path3;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgItalianFlag = function SvgItalianFlag(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 21,\n    height: 20,\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M13.77.568v18.864c3.914-1.364 6.705-5.076 6.705-9.432 0-4.356-2.79-8.068-6.705-9.432Z\",\n    fill: \"#CE2B37\"\n  })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M10.5 0a9.657 9.657 0 0 0-3.295.568V19.42a9.656 9.656 0 0 0 3.295.568c1.162 0 2.26-.202 3.27-.568V.57A9.565 9.565 0 0 0 10.5 0Z\",\n    fill: \"#fff\"\n  })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M.525 10a9.977 9.977 0 0 0 6.68 9.432V.568A9.977 9.977 0 0 0 .525 10Z\",\n    fill: \"#009246\"\n  })));\n};\nexport default SvgItalianFlag;","var _g, _defs;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgPointer = function SvgPointer(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 18,\n    height: 24,\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\"\n  }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n    clipPath: \"url(#pointer_svg__a)\",\n    stroke: \"#B1B5C4\",\n    strokeWidth: 1.5,\n    strokeLinecap: \"round\"\n  }, /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M17 9c0 6.232-5.524 11.774-7.392 13.47a.894.894 0 0 1-1.216 0C6.524 20.774 1 15.233 1 9a8 8 0 1 1 16 0Z\"\n  }), /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M12 9a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\n  }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n    id: \"pointer_svg__a\"\n  }, /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#fff\",\n    d: \"M0 0h18v24H0z\"\n  })))));\n};\nexport default SvgPointer;","import Ticket from \"../../public/custom-icons/detail-custom/ticket.svg\";\nimport GeoTag from \"../../public/custom-icons/detail-custom/geotag.svg\";\nimport Keys from \"../../public/custom-icons/detail-custom/keys.svg\";\nimport English from \"../../public/custom-icons/detail-custom/english-flag.svg\";\nimport Spanish from \"../../public/custom-icons/detail-custom/spanish-flag.svg\";\nimport French from \"../../public/custom-icons/detail-custom/french-flag.svg\";\nimport Italian from \"../../public/custom-icons/detail-custom/italian-flag.svg\";\nimport Pointer from \"../../public/custom-icons/detail-custom/pointer.svg\";\n\nconst packageDetailCustomSvg = {\n    Ticket,\n    GeoTag,\n    Keys,\n    English,\n    Spanish,\n    French,\n    Pointer,\n    Italian,\n};\n\nexport default packageDetailCustomSvg;\n","import { FC, useMemo } from \"react\";\nimport { MDBCol, MDBRow, MDBSwitch } from \"mdb-react-ui-kit\";\nimport { ETypePackage } from \"@/models/common/enums\";\nimport TagsPackageType from \"@/components/detail/tags/TagsPackageType\";\nimport { useIsLG, useIsMD, useIsXL } from \"@/utils/hooks/useWindowSizes\";\nimport { transformPrice } from \"@/utils/common\";\nimport { TourReadableTO } from \"../../models/detail\";\nimport styles from \"../../styles/detail/DetailHead.module.scss\";\nimport packageDetailCustomSvg from \"../../utils/svg-icon/detailPackageCustom\";\n\nconst HeadBox: FC<{\n    packageDetail: TourReadableTO;\n    days: string;\n    isMobile?: boolean;\n    isPremium: boolean;\n    setIsPremium: (el: boolean) => void;\n    typePackage: ETypePackage;\n    className?: string;\n    showAccomodations?: boolean;\n}> = ({\n    packageDetail,\n    days,\n    isMobile,\n    isPremium,\n    setIsPremium,\n    typePackage,\n    className = \"\",\n    showAccomodations = true,\n}) => {\n    const { Ticket, GeoTag, Keys } = packageDetailCustomSvg;\n\n    const isMD = useIsMD();\n    const isLG = useIsLG();\n    const isXL = useIsXL();\n\n    const paddingTop = useMemo(() => {\n        if (!isMobile && (isMD || isLG || isXL)) return 1;\n        if (isMobile) return 3;\n        return 1;\n    }, [isLG, isMD, isMobile, isXL]);\n\n    return (\n        <div\n            className={`${styles.headLowerContainer} mt-4  d-flex ${className}justify-content-center`}\n        >\n            <div\n                className={\n                    isMobile\n                        ? styles.headLowerContainerMobile\n                        : styles.headLowerContentContainer\n                }\n            >\n                <MDBRow center>\n                    <MDBCol\n                        className={`${styles.headRowCardContainer} bg-white rounded-9`}\n                    >\n                        <MDBRow\n                            className={`${styles.headCardContainer} flex-column-reverse flex-lg-row`}\n                            style={{ paddingTop: `${paddingTop}rem` }}\n                        >\n                            <MDBCol\n                                size={12}\n                                lg={9}\n                                className=\"d-flex flex-column flex-md-row mt-3 mt-lg-0\"\n                            >\n                                <MDBCol\n                                    size={12}\n                                    md={4}\n                                    className=\"d-flex justify-content-start justify-content-lg-center my-2 my-lg-0\"\n                                >\n                                    <div className=\"d-flex align-items-center align-items-lg-start pt-md-3\">\n                                        <div className={styles.headIcon}>\n                                            <Ticket alt=\"ticket\" />\n                                        </div>\n                                        <div>\n                                            <h4>Your Journey</h4>\n                                            <p className=\"pe-lg-4 m-0 mb-lg-3\">\n                                                {`${days} days, ${\n                                                    +days - 1\n                                                } nights`}\n                                            </p>\n                                        </div>\n                                    </div>\n                                </MDBCol>\n\n                                <MDBCol\n                                    size={12}\n                                    md={4}\n                                    className=\"d-flex justify-content-start justify-content-lg-center my-2 my-lg-0\"\n                                >\n                                    <div className=\"d-flex align-items-center align-items-lg-start pt-md-3 w-100\">\n                                        <div className={styles.headIconSecond}>\n                                            <GeoTag alt=\"geotag\" />\n                                        </div>\n                                        <div>\n                                            <h4>Destinations</h4>\n                                            <p className=\"pe-lg-4 m-0 mb-lg-3\">\n                                                {packageDetail.destinations.map(\n                                                    (el, i) => (\n                                                        <span\n                                                            // eslint-disable-next-line react/no-array-index-key\n                                                            key={`${el.city}_${i}`}\n                                                        >\n                                                            {(i ? \", \" : \"\") +\n                                                                el.city}\n                                                        </span>\n                                                    )\n                                                )}\n                                            </p>\n                                        </div>\n                                    </div>\n                                </MDBCol>\n                                {showAccomodations && (\n                                    <MDBCol\n                                        size={12}\n                                        md={4}\n                                        className=\"d-flex justify-content-start justify-content-lg-center my-2 my-lg-0\"\n                                    >\n                                        <div className=\"d-flex align-items-center align-items-lg-start pt-md-3\">\n                                            <div\n                                                className={\n                                                    styles.headIconSecond\n                                                }\n                                            >\n                                                <Keys alt=\"keys\" />\n                                            </div>\n                                            <div>\n                                                <h4>Accommodations</h4>\n                                                <p className=\"pe-lg-4 m-0 mb-lg-3\">\n                                                    {`${\n                                                        isPremium\n                                                            ? \"Exclusive accommodation\"\n                                                            : \"4* Hotels\"\n                                                    }`}\n                                                </p>\n                                            </div>\n                                        </div>\n                                    </MDBCol>\n                                )}\n                            </MDBCol>\n\n                            <MDBCol\n                                size={12}\n                                md={3}\n                                className=\"d-flex justify-content-center mx-auto mx-lg-0\"\n                            >\n                                <div className={styles.priceAndLevelContainer}>\n                                    <div\n                                        className={`${styles.cardPriceContainer} mb-3`}\n                                    >\n                                        <div>\n                                            <span\n                                                style={{\n                                                    paddingTop: \"0.4rem\",\n                                                    fontFamily:\n                                                        \"GeneralSans-Regular\",\n                                                }}\n                                            >\n                                                from &nbsp;\n                                            </span>\n                                            <span className=\"fs-2\">\n                                                {`${transformPrice(\n                                                    Number(\n                                                        packageDetail.startingPrice\n                                                            ? packageDetail.startingPrice\n                                                            : packageDetail.price\n                                                    )\n                                                )}`}\n                                                €\n                                            </span>\n                                            <div\n                                                className={`${styles.startingPriceStyle}`}\n                                            >\n                                                Starting price per person\n                                                <br /> in double room\n                                            </div>\n                                        </div>\n                                    </div>\n                                    {typePackage ===\n                                        ETypePackage.QUALITY_AND_PREMIUM && (\n                                        <div className=\"d-flex justify-content-center mt-1 mb-2\">\n                                            <span\n                                                className={`pe-3 ${\n                                                    !isPremium\n                                                        ? styles.cardSecondaryTextBold\n                                                        : styles.cardSecondaryText\n                                                }`}\n                                            >\n                                                Quality\n                                            </span>\n                                            <MDBSwitch\n                                                checked={isPremium}\n                                                onChange={() => {\n                                                    setIsPremium(!isPremium);\n                                                    // router.replace(\n                                                    //     {\n                                                    //         ...router,\n                                                    //         query: {\n                                                    //             ...router.query,\n                                                    //             isPremium:\n                                                    //                 !isPremium,\n                                                    //         },\n                                                    //     },\n                                                    //     undefined,\n                                                    //     { shallow: true }\n                                                    // );\n                                                    const url = new URL(\n                                                        window.location.href\n                                                    );\n                                                    url.searchParams.set(\n                                                        \"isPremium\",\n                                                        !isPremium as unknown as string\n                                                    );\n                                                    window.history.replaceState(\n                                                        null,\n                                                        \"\",\n                                                        url\n                                                    );\n                                                }}\n                                                className={styles.customSwitch}\n                                            />\n                                            <span\n                                                className={`ps-3 ${\n                                                    isPremium\n                                                        ? styles.cardSecondaryTextBold\n                                                        : styles.cardSecondaryText\n                                                }`}\n                                            >\n                                                Premium\n                                            </span>\n                                        </div>\n                                    )}\n\n                                    {typePackage !==\n                                        ETypePackage.QUALITY_AND_PREMIUM && (\n                                        <TagsPackageType\n                                            isPremium={\n                                                typePackage ===\n                                                ETypePackage.ONLY_PREMIUM\n                                            }\n                                        />\n                                    )}\n                                </div>\n                            </MDBCol>\n                        </MDBRow>\n                    </MDBCol>\n                </MDBRow>\n            </div>\n        </div>\n    );\n};\n\nHeadBox.defaultProps = {\n    isMobile: false,\n};\n\nexport default HeadBox;\n","/* eslint-disable jsx-a11y/media-has-caption */\nimport { MDBBtn, MDBContainer } from \"mdb-react-ui-kit\";\nimport React, { FC, useEffect, useMemo, useRef, useState } from \"react\";\nimport Image from \"next/image\";\nimport { ETypePackage } from \"@/models/common/enums\";\nimport { checkRating } from \"@/utils/common\";\nimport { Icon } from \"@iconify/react\";\nimport playIcon from \"@iconify-icons/fa-solid/play\";\nimport pauseIcon from \"@iconify-icons/fa-solid/pause\";\nimport volumeMuteIcon from \"@iconify-icons/fa-solid/volume-mute\";\nimport volumeUpIcon from \"@iconify-icons/fa-solid/volume-up\";\nimport expandIcon from \"@iconify-icons/fa-solid/expand\";\nimport compressIcon from \"@iconify-icons/fa-solid/compress\";\nimport { starsArray } from \"@/utils/star-utils\";\nimport { useIsLG, useIsMD } from \"../../utils/hooks/useWindowSizes\";\nimport HeadBox from \"./HeadBox\";\nimport mediaControlSvg from \"../../utils/svg-icon/mediaControl\";\nimport { TourReadableTO } from \"../../models/detail\";\nimport styles from \"../../styles/detail/DetailHead.module.scss\";\n\nconst PackageDetailHead: FC<{\n    isVideoAvailable?: boolean;\n    packageDetail: TourReadableTO;\n    days: string;\n    isPremium: boolean;\n    isPromo: boolean;\n    setIsPremium: (el: boolean) => void;\n    typePackage: ETypePackage;\n    showAccomodations?: boolean;\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n}> = ({\n    packageDetail,\n    days,\n    isPremium,\n    isPromo,\n    setIsPremium,\n    typePackage,\n    showAccomodations = true,\n    isVideoAvailable = true,\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n}) => {\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    const [videoPlay, setVideoPlay] = useState<boolean>(false);\n    const [error, setError] = useState(false);\n    const { Play } = mediaControlSvg;\n    const videoEl = useRef<HTMLVideoElement>(null);\n\n    const isMobile = useIsMD();\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    const checkedRating = checkRating(packageDetail.rating);\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n\n    const onEndAction = () => {\n        setVideoPlay(false);\n    };\n\n    const isLG = useIsLG();\n    const isMD = useIsMD();\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    const paddingBottom = useMemo(() => {\n        if (isMD) {\n            return 1;\n        }\n        if (!isLG) {\n            return packageDetail.destinations.length > 10\n                ? packageDetail.destinations.length - 2\n                : 10;\n        }\n        return packageDetail.destinations.length > 10\n            ? packageDetail.destinations.length\n            : 10;\n    }, [isLG, isMD, packageDetail.destinations.length]);\n\n    const [isPlaying, setIsPlaying] = useState(false);\n    const [isMuted, setIsMuted] = useState(false);\n    const [isFullscreen, setIsFullscreen] = useState(false);\n    const [showControls, setShowControls] = useState(true);\n    const shouldRenderImage = !videoPlay || (isMobile && videoPlay);\n\n    let hideControlsTimeout: ReturnType<typeof setTimeout> | null = null;\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    const togglePlayPause = () => {\n        if (videoEl.current) {\n            if (isPlaying) {\n                videoEl.current.pause();\n            } else {\n                videoEl.current.play();\n            }\n            setIsPlaying(!isPlaying);\n        }\n    };\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    const toggleMute = () => {\n        if (videoEl.current) {\n            videoEl.current.muted = !isMuted;\n            setIsMuted(!isMuted);\n        }\n    };\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    const toggleFullscreen = () => {\n        if (videoEl.current) {\n            if (!isFullscreen) {\n                if (videoEl.current.requestFullscreen) {\n                    videoEl.current.requestFullscreen();\n                }\n            } else if (document.exitFullscreen) {\n                document.exitFullscreen();\n            }\n            setIsFullscreen(!isFullscreen);\n        }\n    };\n\n    const handleVideoPlay = () => setIsPlaying(true);\n    const handleVideoPause = () => setIsPlaying(false);\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    const handleVolumeChange = () =>\n        setIsMuted(videoEl.current?.muted ?? false);\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    const handleFullscreenChange = () => {\n        setIsFullscreen(!!document.fullscreenElement);\n    };\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    useEffect(() => {\n        const video = videoEl.current;\n\n        if (video) {\n            video.addEventListener(\"play\", handleVideoPlay);\n            video.addEventListener(\"pause\", handleVideoPause);\n            video.addEventListener(\"volumechange\", handleVolumeChange);\n        }\n\n        document.addEventListener(\"fullscreenchange\", handleFullscreenChange);\n\n        return () => {\n            if (video) {\n                video.removeEventListener(\"play\", handleVideoPlay);\n                video.removeEventListener(\"pause\", handleVideoPause);\n                video.removeEventListener(\"volumechange\", handleVolumeChange);\n            }\n            document.removeEventListener(\n                \"fullscreenchange\",\n                handleFullscreenChange\n            );\n        };\n    }, []);\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    const startHideControlsTimer = () => {\n        if (hideControlsTimeout !== null) {\n            clearTimeout(hideControlsTimeout);\n        }\n        hideControlsTimeout = setTimeout(() => {\n            setShowControls(false);\n        }, 5000);\n    };\n\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n    const handleMouseMove = () => {\n        setShowControls(true);\n    };\n\n    useEffect(() => {\n        if (videoPlay && videoEl.current?.requestFullscreen) {\n            videoEl.current?.requestFullscreen();\n        }\n    }, [videoPlay]);\n\n    return (\n        <MDBContainer\n            fluid\n            className={styles.headBgColor}\n            style={{ paddingBottom: `${paddingBottom}rem` }}\n        >\n            <div\n                className={styles.headBgImageContainer}\n                onMouseMove={handleMouseMove}\n                onMouseLeave={() => setShowControls(false)}\n            >\n                <div\n                    style={{ display: videoPlay ? \"block\" : \"flex\" }}\n                    className={styles.headPaddingContainer}\n                >\n                    {/* // IMPORTANTE: necessità di capire che tipo di video avremo */}\n                    {/* // il codice sottostante garantise un video full-width senza bande nere */}\n                    {/* // e centrato anche sul telefono, ma richiede l'url di un video e non il player youtube */}\n                    {videoPlay && (\n                        <div\n                            style={{\n                                width: isMobile ? \"100%\" : \"90%\",\n                                height: \"100%\",\n                                position: \"relative\",\n                                top: \"0px\",\n                                zIndex: isMobile ? 10 : 0,\n                                objectFit: \"cover\",\n                                borderRadius: \"20px\",\n                                transform: isMobile ? \"none\" : \"scale(1.5)\",\n                                transition: \"transform 0.6s ease-in-out\",\n                                backgroundColor: \"black\",\n                                marginBottom: isMobile ? \"2rem\" : \"0\",\n                            }}\n                        >\n                            {/* // eslint-disable-next-line\n                            sonarjs/cognitive-complexity */}\n                            <video\n                                className=\"w-100 h-100\"\n                                style={{\n                                    objectFit: isMobile ? \"contain\" : \"cover\",\n                                    paddingBottom: isMobile ? \"1rem\" : \"0\",\n                                }}\n                                controls\n                                autoPlay\n                                title=\"review video\"\n                                ref={videoEl}\n                                onEnded={onEndAction}\n                                muted={isMuted}\n                                onPlay={startHideControlsTimer}\n                                onPause={() => setShowControls(true)}\n                            >\n                                <source src={packageDetail.coverVideo} />\n                            </video>\n                            {!isMobile && (\n                                <div\n                                    className={`${styles.customControls} ${\n                                        !showControls ? styles.hideControls : \"\"\n                                    }`}\n                                >\n                                    <button\n                                        type=\"button\"\n                                        onClick={toggleMute}\n                                        className={styles.controlButton}\n                                    >\n                                        <Icon\n                                            icon={\n                                                isMuted\n                                                    ? volumeMuteIcon\n                                                    : volumeUpIcon\n                                            }\n                                        />\n                                    </button>\n                                    <button\n                                        type=\"button\"\n                                        onClick={togglePlayPause}\n                                        className={styles.controlButton}\n                                    >\n                                        <Icon\n                                            icon={\n                                                isPlaying ? pauseIcon : playIcon\n                                            }\n                                        />\n                                    </button>\n                                    <button\n                                        type=\"button\"\n                                        onClick={toggleFullscreen}\n                                        className={styles.controlButton}\n                                    >\n                                        <Icon\n                                            icon={\n                                                isFullscreen\n                                                    ? compressIcon\n                                                    : expandIcon\n                                            }\n                                        />\n                                    </button>\n                                </div>\n                            )}\n                        </div>\n                    )}\n                    {shouldRenderImage && (\n                        <div>\n                            <div className={styles.radialContainer} />\n                            <Image\n                                alt=\"tour-image\"\n                                src={\n                                    error\n                                        ? \"/images/tours/across-italy-reduced.jpg\"\n                                        : packageDetail.coverImage\n                                }\n                                className={styles.imageFit}\n                                fill\n                                onError={() => {\n                                    setError(true);\n                                }}\n                            />\n                        </div>\n                    )}\n                    <div className={styles.headTitleContainer}>\n                        {videoPlay || !isVideoAvailable ? null : (\n                            <MDBBtn\n                                className={`${styles.playButton} p-0 mb-3 mb-lg-0 p-lg-4 shadow-0`}\n                                onClick={() => setVideoPlay(true)}\n                            >\n                                <Play />\n                            </MDBBtn>\n                        )}\n                        {isPromo && !videoPlay && (\n                            <div\n                                className={`rounded-5 ${styles.promoTag} text-center text-uppercase d-inline-flex px-3 py-2 my-2`}\n                            >\n                                Promo\n                            </div>\n                        )}\n                        {!videoPlay && (\n                            <div>\n                                <h1 className={styles.headTitle}>\n                                    {packageDetail.tourTitle}\n                                </h1>\n\n                                <div className=\"d-flex align-items-center mb-3\">\n                                    {checkedRating && (\n                                        <>\n                                            <div\n                                                className={styles.starContainer}\n                                            >\n                                                {starsArray(\n                                                    packageDetail.rating,\n                                                    true\n                                                )}\n                                            </div>\n\n                                            <span\n                                                className={styles.starText}\n                                            >{`${Number(\n                                                packageDetail.rating\n                                            )}`}</span>\n                                        </>\n                                    )}\n                                    {/* {(packageDetail.reviews?.length ?? 0) >\n                                        0 && (\n                                        <span\n                                            className={`${styles.reviewsText} ps-1`}\n                                        >{`(${\n                                            packageDetail.reviews?.length ?? 0\n                                        } reviews)`}</span>\n                                    )} */}\n                                </div>\n                            </div>\n                        )}\n                    </div>\n                </div>\n                {useIsMD() && (\n                    <HeadBox\n                        isPremium={isPremium}\n                        setIsPremium={setIsPremium}\n                        isMobile\n                        days={days}\n                        packageDetail={packageDetail}\n                        typePackage={typePackage}\n                        showAccomodations={showAccomodations}\n                        // className={\"mt-5\"}\n                        // className={videoPlay ? \"d-none\" : \"\"}\n                    />\n                )}\n            </div>\n            {!useIsMD() && (\n                <HeadBox\n                    days={days}\n                    packageDetail={packageDetail}\n                    isPremium={isPremium}\n                    setIsPremium={setIsPremium}\n                    typePackage={typePackage}\n                    className={videoPlay ? \"d-none\" : \"\"}\n                    showAccomodations={showAccomodations}\n                />\n            )}\n        </MDBContainer>\n    );\n};\n\nexport default PackageDetailHead;\n","export default {\"src\":\"/_next/static/media/adventures_box.00f2ae20.png\",\"height\":269,\"width\":256,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAv0lEQVR42kXNMa7CMAyAYb/HgJg5AkJiR+IIHIATcAnETeAmjKzMbGzAhAh1aZqmobFTkyBQP8myh18yJArzP/I09cRrIj4w8wIivNgBJMw8IwoSmKWNE8Pz7fScwI+t3ZqJROOjKVC9mLzYut5DstxJ35jqSN5LkanwzO7ShiDOuUZrPYLEGLOv3Usi14a28Z5SgPp+HUJirR2bqCi0KKUEEaWqqhUkZVn2vnuEmG3yPN/Gew6dLup83v4DALwBukCf6e3docMAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":8};","export default {\"src\":\"/_next/static/media/discover_box.ae7b3b1b.png\",\"height\":269,\"width\":256,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAxUlEQVR42k2OMQrCQBBFV7Cz0gOIrbWChbfwGF7AQi9hIXgVQezETsgBrETQTWKy2ZhNZmYzLpEk/mqG/x4zog4ATgjtipAuSOVCuND90KtKRJq7kgGJgYgRyNexnLZ2DjNA5EDF+E5UXrg5+2TXBtBar/Oi4EgnGKioRGvZmPwRhP7gB6R6Z4xhW7IhawsA5CwznCRqJE57rx88o6GDzipWLKXPYRhymqabyvaOt359SsrX0pVbZ47Ff5i50yztX10hhPgCM1eY66X1dPYAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":8};","export default {\"src\":\"/_next/static/media/expert_box.1f61f76c.png\",\"height\":269,\"width\":256,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAuklEQVR42lWLMQ7CMAxFLSQGpI5cghGxcxMWJg7BxoDEBbgLGxOwcAVGREKb0KRpEqc1bqVK8CTL1vf7cL6VGTDUNnPE5oqp2WHEpav9GAakfE9DxHuKSN2wRIhpBQO2qi4YAlX649VL+E7yETc1QAa5eE6cc4+EiSqlW6s0YohkrT3CAAunyC2WamrJeR/IlOUeBtheK6VICEFKazLGJM5m8AuHi6LIt1LKA8v9k/cIOkpj+PhHa91nX3m/mrW9vFdlAAAAAElFTkSuQmCC\",\"blurWidth\":8,\"blurHeight\":8};","import { MDBCol, MDBContainer, MDBRow } from \"mdb-react-ui-kit\";\nimport Image from \"next/image\";\nimport { forwardRef, ReactElement, RefObject, useEffect } from \"react\";\nimport adventuresPic from \"../../public/images/adventures_box.png\";\nimport discoverPic from \"../../public/images/discover_box.png\";\nimport expertPic from \"../../public/images/expert_box.png\";\nimport { whyChoosePlayTitle } from \"../../utils/mockData/detailMocks\";\nimport styles from \"../../styles/detail/Detail.WhyChoosePlay.module.scss\";\nimport { randomUid } from \"../../utils/randomIds\";\nimport SectionTitle from \"../common/SectionTitle\";\nimport { ISectionTitle } from \"../../models/common/common\";\nimport { useStore } from \"../../store\";\nimport useOnScreen from \"../../utils/hooks/useOnScreen\";\nimport { EDetailSection } from \"../../models/common/enums\";\n\nconst WhyChoosePlay = forwardRef<HTMLDivElement>((_, ref): ReactElement => {\n    const dispatch = useStore(state => state.dispatchPackage);\n\n    const isOnScreen = useOnScreen(ref as RefObject<HTMLDivElement>);\n\n    const data = [\n        {\n            id: randomUid(),\n            image: discoverPic,\n            title: \"Discover Italy\",\n            description:\n                \"We’re known for our many stereotypes but there’s so much more about Italy than that.\",\n        },\n        {\n            id: randomUid(),\n            image: expertPic,\n            title: \"Our Italian experts\",\n            description:\n                \"You will receive a guided tour by someone who loves, lives and breathes this Country.\",\n        },\n        {\n            id: randomUid(),\n            image: adventuresPic,\n            title: \"Effortless adventures\",\n            description:\n                \"Just enjoy your trip, we will arrange all the scheduling. Our tours start everyday, we’re waiting for you!\",\n        },\n    ];\n\n    const title: ISectionTitle = {\n        title: whyChoosePlayTitle,\n        titleColumnSize: 12,\n        spaceBetween: 2,\n        alignment: \"justify-content-center text-center\",\n        classNameContainer: \"py-3\",\n    };\n\n    useEffect(() => {\n        if (isOnScreen) {\n            dispatch({\n                type: \"SET_CURRENT_SECTION\",\n                payload: EDetailSection.HIW,\n            });\n        }\n    }, [isOnScreen]);\n\n    return (\n        <MDBContainer ref={ref} fluid className=\"py-5 px-0\">\n            <MDBRow className=\"d-flex justify-content-center\">\n                <MDBCol size={10} className=\"d-flex justify-content-center\">\n                    <SectionTitle sectionTitle={title} />\n                </MDBCol>\n            </MDBRow>\n            <MDBRow className=\"d-flex justify-content-center\">\n                <MDBCol size={10} lg={12} xl={10}>\n                    <MDBRow className=\"justify-content-evenly mx-2 mx-lg-0\">\n                        {data.map(el => (\n                            <MDBCol\n                                key={el.id}\n                                size={12}\n                                lg={3}\n                                className=\"m-1 m-lx-2 rounded-7 d-flex flex-column  justify-content-center\"\n                            >\n                                <MDBRow>\n                                    <div className=\"position-relative w-100 h-100 text-center\">\n                                        <Image src={el.image} alt={el.title} />\n                                    </div>\n                                </MDBRow>\n                                <MDBRow\n                                    className={`${styles.title} justify-content-center`}\n                                >\n                                    {el.title}\n                                </MDBRow>\n                                <MDBRow\n                                    className={`${styles.description} justify-content-center text-center`}\n                                >\n                                    {el.description}\n                                </MDBRow>\n                            </MDBCol>\n                        ))}\n                    </MDBRow>\n                </MDBCol>\n            </MDBRow>\n        </MDBContainer>\n    );\n});\n\nexport default WhyChoosePlay;\n","import React, { FC, useMemo } from \"react\";\nimport { EDetailSection } from \"@/models/common/enums\";\nimport styles from \"@/styles/detail/DetailRecap.module.scss\";\nimport { useStore } from \"@/store/index\";\n\ntype PackageDetailNavbarItemProps = {\n    thisSection: EDetailSection;\n    handleNavigation: (el: EDetailSection) => void;\n    title: string;\n};\n\nconst PackageDetailNavbarItem: FC<PackageDetailNavbarItemProps> = ({\n    thisSection,\n    handleNavigation,\n    title,\n}) => {\n    const currentSection = useStore(state => state.packageState.currentSection);\n\n    const spanClassName = useMemo(() => {\n        return currentSection === thisSection\n            ? styles.spanNavSelected\n            : styles.spanNav;\n    }, [thisSection, currentSection]);\n    return (\n        <span\n            className={spanClassName}\n            onClick={() => handleNavigation(thisSection)}\n        >\n            {title}\n        </span>\n    );\n};\n\nexport default PackageDetailNavbarItem;\n","import { FC, useCallback, useEffect, useState } from \"react\";\nimport { EDetailSection, ERoomType } from \"@/models/common/enums\";\nimport { useRouter } from \"next/router\";\nimport { useIsMD, useIsSM } from \"@/utils/hooks/useWindowSizes\";\nimport PackageDetailNavbarItem from \"@/components/detail/PackageDetailNavbarItem\";\nimport { useStore } from \"@/store/index\";\nimport { IRoom } from \"@/models/checkout\";\nimport { transformPrice } from \"@/utils/common\";\nimport styles from \"../../styles/detail/DetailRecap.module.scss\";\n\nconst PackageDetailNavbar: FC<{\n    showAccomodations?: boolean;\n    isRequestAQuote: boolean;\n    handleNavigation: (el: EDetailSection) => void;\n}> = ({ showAccomodations = true, handleNavigation, isRequestAQuote }) => {\n    const router = useRouter();\n\n    const rooms = useStore(state => state.checkoutState.orderData.rooms);\n    const totalAmount = useStore(\n        state => state.checkoutState.orderData.totalAmount\n    );\n    const [isDefault, setIsDefault] = useState<boolean>(true);\n\n    const deepEqual = useCallback((obj1: IRoom, obj2: IRoom): boolean => {\n        if (obj1 === obj2) return true;\n\n        if (\n            obj1 == null ||\n            obj2 == null ||\n            typeof obj1 !== \"object\" ||\n            typeof obj2 !== \"object\"\n        ) {\n            return false;\n        }\n\n        const keys1 = Object.keys(obj1);\n        const keys2 = Object.keys(obj2);\n\n        if (keys1.length !== keys2.length) {\n            return false;\n        }\n\n        // eslint-disable-next-line no-restricted-syntax\n        for (const key of keys1) {\n            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n            // @ts-ignore\n            if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {\n                return false;\n            }\n        }\n\n        return true;\n    }, []);\n\n    const arraysAreEqual = useCallback(\n        (arr1: IRoom[], arr2: IRoom[]): boolean => {\n            if (arr1.length !== arr2.length) return false;\n\n            for (let i = 0; i < arr1.length; i++) {\n                if (!deepEqual(arr1[i], arr2[i])) {\n                    return false;\n                }\n            }\n\n            return true;\n        },\n        [deepEqual]\n    );\n\n    useEffect(() => {\n        const defaultRoomValue: IRoom[] = [\n            {\n                type: ERoomType.DOUBLE,\n                adults: 1,\n                children: [],\n                newborns: 0,\n            },\n        ];\n\n        if (arraysAreEqual(rooms, defaultRoomValue)) {\n            setIsDefault(true);\n        } else {\n            setIsDefault(false);\n        }\n    }, [arraysAreEqual, rooms]);\n\n    const isSM = useIsSM();\n    const isMD = useIsMD();\n\n    const { clickConfirmDate } = useStore(state => state.checkoutState);\n\n    return (\n        <div className={`w-100 ${styles.customContainer}`}>\n            <div className={styles.customContainerInner}>\n                <div className=\"d-flex justify-content-between align-items-center\">\n                    <PackageDetailNavbarItem\n                        thisSection={EDetailSection.GENERAL}\n                        handleNavigation={handleNavigation}\n                        title=\"General Info\"\n                    />\n                    <PackageDetailNavbarItem\n                        thisSection={EDetailSection.ITINERARY}\n                        handleNavigation={handleNavigation}\n                        title=\"Itinerary\"\n                    />\n\n                    {showAccomodations && (\n                        <PackageDetailNavbarItem\n                            thisSection={EDetailSection.ACCOMMODATION}\n                            handleNavigation={handleNavigation}\n                            title=\"Accommodations\"\n                        />\n                    )}\n\n                    <PackageDetailNavbarItem\n                        thisSection={EDetailSection.HIW}\n                        handleNavigation={handleNavigation}\n                        title=\"How It Works\"\n                    />\n\n                    <span\n                        className={\n                            useIsSM() ? styles.spanNav : styles.spanNavFaq\n                        }\n                        onClick={() => router.push(\"/faq\")}\n                    >\n                        FAQ\n                    </span>\n                </div>\n                {!isSM && !isMD && !isRequestAQuote && (\n                    <div className={styles.priceSection}>\n                        <div className=\"d-flex flex-row gap-2\">\n                            <span className={styles.priceSectionPriceLegend}>\n                                {/* {!clickConfirmDate || !isDefault\n                                    ? \"Your package price: \"\n                                    : \"\"} */}\n                                Your package price:\n                            </span>\n                            <span className={styles.priceSectionPrice}>\n                                {clickConfirmDate\n                                    ? isDefault\n                                        ? transformPrice(totalAmount / 2)\n                                        : transformPrice(totalAmount)\n                                    : \"-\"}\n                                €\n                            </span>\n\n                            {/* <span className={styles.priceSectionPriceLegend}>\n                                {isDefault && clickConfirmDate\n                                    ? \"/person (starting price)\"\n                                    : \"\"}\n                            </span> */}\n                        </div>\n                    </div>\n                )}\n                {!isRequestAQuote && (\n                    <div\n                        className={\n                            !isSM\n                                ? clickConfirmDate\n                                    ? styles.reserveButton\n                                    : styles.reserveButtonDisabled\n                                : `d-none`\n                        }\n                        onClick={() =>\n                            clickConfirmDate &&\n                            handleNavigation(EDetailSection.GENERAL)\n                        }\n                    >\n                        <span>Reserve</span>\n                    </div>\n                )}\n            </div>\n        </div>\n    );\n};\n\nexport default PackageDetailNavbar;\n","import { MDBBtn } from \"mdb-react-ui-kit\";\nimport { FC } from \"react\";\nimport { useRouter } from \"next/router\";\nimport { TourReadableTO } from \"@/models/detail\";\nimport { EDetailSection, ETypeToastMessage } from \"@/models/common/enums\";\nimport useSticky from \"@/hooks/useSticky\";\nimport { checkRating } from \"@/utils/common\";\nimport { useStore } from \"@/store/index\";\nimport { useToggleFavourite } from \"@/utils/queries/hooks/useToggleFavourite\";\nimport styles from \"../../styles/detail/DetailRecap.module.scss\";\nimport businessSvg from \"../../utils/svg-icon/business\";\nimport contactsSvg from \"../../utils/svg-icon/contacts\";\nimport userInterfaceSvg from \"../../utils/svg-icon/userInterface\";\nimport PackageDetailNavbar from \"./PackageDetailNavbar\";\n\nconst PackageDetailRecap: FC<{\n    showAccomodations?: boolean;\n    isRequestAQuote: boolean;\n    handleNavigation: (el: EDetailSection) => void;\n    packageDetail: TourReadableTO;\n    days: string;\n}> = ({\n    showAccomodations = true,\n    handleNavigation,\n    packageDetail,\n    days,\n    isRequestAQuote,\n}) => {\n    const { FlagLine, ClockLine } = contactsSvg;\n    const { CoinLine } = businessSvg;\n    const {\n        ShareSquare,\n        ArrowLeftSimpleLine,\n        ArrowRightSimpleLine,\n        StarFilled,\n        HeartLine,\n    } = userInterfaceSvg;\n    const router = useRouter();\n    const shopDestination = \"/tours-destinations\";\n    const { sticky, stickyRef } = useSticky();\n    // eslint-disable-next-line no-underscore-dangle\n    const authType = useStore(state => state.userState.userDetail._id);\n    const { mutate: toggle } = useToggleFavourite();\n\n    const toggleWishlist = (_id: string) => {\n        toggle(_id);\n    };\n\n    const userDetail = useStore(state => state.userState.userDetail);\n    const dispatchCommon = useStore(state => state.dispatchCommon);\n\n    return (\n        <>\n            <div className={styles.customContainer}>\n                <div className=\"d-flex justify-content-between align-items-center\">\n                    <MDBBtn\n                        className={styles.backToSearchButton}\n                        onClick={() =>\n                            router.push(\n                                {\n                                    pathname: shopDestination,\n                                    query: {\n                                        tourType: null,\n                                        destination: null,\n                                    },\n                                },\n                                shopDestination,\n                                { shallow: true }\n                            )\n                        }\n                    >\n                        <ArrowLeftSimpleLine />\n                        <span className=\"pe-1\">Back to the Shop</span>\n                    </MDBBtn>\n                    <div>\n                        <span className={styles.spanArrowText}>Home</span>\n                        <span className={styles.arrowRightSvg}>\n                            <ArrowRightSimpleLine />\n                        </span>\n                        <span className={styles.spanArrowText}>Tours</span>\n                        <span className={styles.arrowRightSvg}>\n                            <ArrowRightSimpleLine />\n                        </span>\n                        <span className={styles.spanArrowText}>\n                            {packageDetail.tourType}\n                        </span>\n                        <span className={styles.arrowRightSvg}>\n                            <ArrowRightSimpleLine />\n                        </span>\n\n                        <span className={styles.arrowRightSvgFinal}>\n                            {packageDetail.tourTitle}\n                        </span>\n                    </div>\n                </div>\n                <div className={styles.interactionSvgContainer}>\n                    <div>\n                        {checkRating(packageDetail?.rating) && (\n                            <>\n                                <span className={styles.cardStarIcon}>\n                                    <StarFilled />\n                                </span>\n                                <span className={styles.starText}>{`${Number(\n                                    packageDetail.rating\n                                )}`}</span>\n                            </>\n                        )}\n                        {/* {(packageDetail.reviews?.length ?? 0) > 0 && (\n                            <span\n                                className={`${styles.cardSecondaryText} ps-2`}\n                            >{`(${\n                                packageDetail.reviews?.length ?? 0\n                            } reviews)`}</span>\n                        )} */}\n                        <span className={`${styles.cardClockIcon} ps-2`}>\n                            <ClockLine />\n                        </span>\n                        <span\n                            className={styles.cardSecondaryText}\n                        >{`${days} days, ${+days - 1} nights`}</span>\n                        <span className={`${styles.flagContainer} ps-2`}>\n                            <FlagLine />\n                        </span>\n                        <span className={styles.cardSecondaryText}>\n                            {`${packageDetail.destinations.length} ${\n                                packageDetail.destinations.length > 1\n                                    ? \"Destinations\"\n                                    : \"Destination\"\n                            }`}\n                        </span>\n                        <span className={`${styles.dollarSvgContainer} ps-2`}>\n                            <CoinLine />\n                        </span>\n                        <span className={styles.cardSecondaryText}>\n                            From {packageDetail.price}€\n                        </span>\n                    </div>\n                    <div className={styles.actionsContainer}>\n                        <span\n                            className={styles.interactionSvgSpan}\n                            onClick={() => {\n                                navigator.clipboard.writeText(\n                                    window.location.href\n                                );\n                                dispatchCommon({\n                                    type: \"SET_TOAST_MESSAGE_DATA\",\n                                    payload: {\n                                        type: ETypeToastMessage.SUCCESS,\n                                        message: `Copied`,\n                                    },\n                                });\n                            }}\n                        >\n                            <ShareSquare />\n                        </span>\n                        {authType && (\n                            <span\n                                className={`${\n                                    userDetail.favouriteTours?.includes(\n                                        packageDetail?.tourId\n                                    )\n                                        ? styles.interactionSvgSpanHeartActive\n                                        : styles.interactionSvgSpanHeart\n                                }`}\n                                // className={styles.interactionSvgSpanHeart}\n                                onClick={e => {\n                                    e.preventDefault();\n                                    e.stopPropagation();\n                                    toggleWishlist(packageDetail?.tourId);\n                                }}\n                            >\n                                <HeartLine />\n                            </span>\n                        )}\n                    </div>\n                </div>\n            </div>\n            <div\n                ref={stickyRef}\n                className={`w-100 ${styles.navContainer} ${\n                    sticky && styles.isSticky\n                }`}\n            >\n                <PackageDetailNavbar\n                    showAccomodations={showAccomodations}\n                    handleNavigation={handleNavigation}\n                    isRequestAQuote={isRequestAQuote}\n                />\n            </div>\n        </>\n    );\n};\n\nexport default PackageDetailRecap;\n","import styles from \"@/styles/detail/DetailFixedBar.module.scss\";\nimport { MDBCol, MDBRow } from \"mdb-react-ui-kit\";\nimport { FC } from \"react\";\nimport contactsSvg from \"@/utils/svg-icon/contacts\";\nimport userInterfaceSvg from \"@/utils/svg-icon/userInterface\";\nimport { TourReadableTO } from \"@/models/detail\";\nimport Btn from \"@/common/Btn\";\nimport { EBtnType } from \"@/models/common/enums\";\nimport { checkRating } from \"@/utils/common\";\nimport { useStore } from \"@/store/index\";\n\n/* eslint-disable no-underscore-dangle */\nconst DetailFixedBarMobile: FC<{\n    isRequestAQuote?: boolean;\n    price: number;\n    isPremium: boolean;\n    packageDetail: TourReadableTO;\n    onClick: () => void;\n    isButtonDisabled?: boolean;\n    days: string;\n}> = ({\n    price,\n    isPremium,\n    packageDetail,\n    isRequestAQuote,\n    isButtonDisabled = false,\n    onClick,\n    days,\n}) => {\n    const { FlagLine, ClockLine } = contactsSvg;\n    const { StarFilled } = userInterfaceSvg;\n\n    const { rating } = packageDetail;\n\n    const checkedRating = checkRating(rating);\n    const { clickConfirmDate } = useStore(state => state.checkoutState);\n\n    return (\n        <MDBCol\n            size={12}\n            className={\n                isPremium\n                    ? styles.sectionBorderPremium\n                    : styles.sectionBorderQuality\n            }\n        >\n            <MDBRow className=\"pb-2 px-0 \">\n                <MDBCol className=\"px-0 d-flex justify-content-center align-content-center\">\n                    <span className={`${styles.addToCartBoxPrice} pe-0`}>\n                        {clickConfirmDate ? `${price.toFixed(2)}` : \"- \"}€\n                    </span>\n                </MDBCol>\n                <MDBCol className=\"px-0 d-flex justify-content-center align-content-center\">\n                    <Btn\n                        btnType={EBtnType.TRANSPARENTNOHOVER}\n                        onClick={onClick}\n                        disabled={isButtonDisabled}\n                    >\n                        {isRequestAQuote ? \"Request a quote\" : \"Reserve\"}\n                    </Btn>\n                </MDBCol>\n            </MDBRow>\n            <MDBRow className=\"p-0\">\n                <div className=\"p-0 d-flex justify-content-center gap-3 justify-content-md-around align-content-center\">\n                    <div>\n                        {checkedRating && (\n                            <>\n                                <span className={styles.cardStarIcon}>\n                                    <StarFilled />\n                                </span>\n                                <span className={styles.starText}>{`${Number(\n                                    packageDetail.rating\n                                )}`}</span>\n                            </>\n                        )}\n                    </div>\n                    <div>\n                        <span\n                            className={`${styles.cardClockIcon} ${\n                                checkedRating ? \"\" : \"ps-2\"\n                            }`}\n                        >\n                            <ClockLine className=\"p-0\" />\n                        </span>\n                        <span\n                            className={`${styles.cardSecondaryText} ${\n                                checkedRating ? \"pe-2\" : \"\"\n                            }`}\n                        >{`${days} days, ${+days - 1} nights`}</span>\n                    </div>\n                    <div>\n                        <span className={`${styles.flagContainer} ps-2`}>\n                            <FlagLine />\n                        </span>\n                        <span className={styles.cardSecondaryText}>\n                            {packageDetail.destinations.length} destinations\n                        </span>\n                    </div>\n                </div>\n            </MDBRow>\n        </MDBCol>\n    );\n};\n/* eslint-enable no-underscore-dangle */\n\nexport default DetailFixedBarMobile;\n","import { FC, ReactNode, useEffect, useState } from \"react\";\nimport {\n    MDBBtn,\n    MDBModal,\n    MDBModalBody,\n    MDBModalContent,\n    MDBModalDialog,\n} from \"mdb-react-ui-kit\";\nimport { ModalSize } from \"@/models/common/enums\";\nimport styles from \"@/styles/common/InfoModal.module.scss\";\nimport { useDisableBodyScroll } from \"@/hooks/useDisableBodyScroll\";\n\nconst ModalCartContainer: FC<{\n    children: ReactNode;\n    modalSize?: ModalSize;\n    show: boolean;\n    setShow: (state: boolean) => void;\n}> = ({ children, modalSize = ModalSize.FULL, show, setShow }) => {\n    const [isBrowser, setIsBrowser] = useState(false);\n    useEffect(() => {\n        setIsBrowser(typeof window !== \"undefined\");\n    }, []);\n    const toggleShow = () => setShow(!show);\n\n    useDisableBodyScroll(show);\n\n    return isBrowser ? (\n        <MDBModal\n            show={show}\n            setShow={setShow}\n            tabIndex=\"-1\"\n            className=\"bottom p-0\"\n            staticBackdrop\n        >\n            <MDBModalDialog\n                centered\n                size={modalSize === ModalSize.MD ? undefined : modalSize}\n            >\n                <MDBModalContent>\n                    <MDBModalBody className=\"p-0\">\n                        <MDBBtn\n                            className={`${styles.closeButtonCart} btn-close`}\n                            color=\"none\"\n                            onClick={toggleShow}\n                        />\n                        {children}\n                    </MDBModalBody>\n                </MDBModalContent>\n            </MDBModalDialog>\n        </MDBModal>\n    ) : (\n        <div />\n    );\n};\n\nexport default ModalCartContainer;\n","import { MDBCol, MDBRow } from \"mdb-react-ui-kit\";\nimport { FC, useMemo } from \"react\";\nimport { InfoModalDoubleContent } from \"../../../models/common/common\";\nimport { ModalSize } from \"../../../models/common/enums\";\nimport { randomUid } from \"../../../utils/randomIds\";\nimport InfoModalContainer from \"./InfoModal\";\n\nconst InfoModalDouble: FC<{\n    content: InfoModalDoubleContent;\n    show: boolean;\n    setShow: (state: boolean) => void;\n}> = ({ content, show, setShow }) => {\n    const getBody = (text: string[], list: string[]) => {\n        return (\n            <>\n                {text.map(item => (\n                    <p key={randomUid()}>{item}</p>\n                ))}\n                {list.length !== 0 && (\n                    <>\n                        <br />\n                        <ul>\n                            {list.map(listItem => (\n                                <li key={randomUid()}>{listItem}</li>\n                            ))}\n                        </ul>\n                    </>\n                )}\n            </>\n        );\n    };\n\n    const bodyContents = useMemo(\n        () =>\n            content.content.map(el => (\n                <MDBCol\n                    key={randomUid()}\n                    size={12}\n                    lg={5}\n                    className=\"border border-1 rounded-6 mt-3 mt-lg-0 mx-lg-2 p-2\"\n                >\n                    <p className=\"fw-bold\">{el.title}</p>\n                    {getBody(el.content, el.listElements)}\n                </MDBCol>\n            )),\n        [content]\n    );\n\n    return (\n        <InfoModalContainer\n            title={content.title}\n            show={show}\n            setShow={setShow}\n            size={ModalSize.LG}\n        >\n            <MDBRow className=\"mx-3 justify-content-center\">\n                {bodyContents}\n            </MDBRow>\n        </InfoModalContainer>\n    );\n};\n\nexport default InfoModalDouble;\n","/* eslint-disable jsx-a11y/media-has-caption */\nimport { FC } from \"react\";\nimport InfoModalContainer from \"./InfoModal\";\n\nconst InfoModalVideo: FC<{\n    content: string;\n    show: boolean;\n    setShow: (state: boolean) => void;\n}> = ({ content, show, setShow }) => {\n    return (\n        <InfoModalContainer title=\"\" show={show} setShow={setShow}>\n            <video className=\"w-100 h-100\" controls title=\"review video\">\n                <source src={content} />\n            </video>\n        </InfoModalContainer>\n    );\n};\n\nexport default InfoModalVideo;\n","/* eslint-disable jsx-a11y/media-has-caption */\nimport { FC } from \"react\";\nimport generalSvg from \"@/utils/svg-icon/general\";\nimport styles from \"@/styles/detail/DetailBookingSidebar/InfoModalPremium.module.scss\";\nimport otherSvg from \"@/utils/svg-icon/other\";\nimport InfoModalContainer from \"./InfoModal\";\nimport Btn from \"../Btn\";\n\nconst InfoModalPremium: FC<{\n    show: boolean;\n    setShow: (state: boolean) => void;\n    onBuy: (isPremiumFlag: boolean) => void;\n    pricePremium: number;\n    priceQuality: number;\n}> = ({ show, setShow, onBuy, pricePremium, priceQuality }) => {\n    const { Star } = generalSvg;\n    const { CatPremiumResized } = otherSvg;\n\n    const differencePrice = pricePremium - priceQuality;\n\n    return (\n        <InfoModalContainer title=\"\" show={show} setShow={setShow}>\n            <div className={styles.modalContainer}>\n                <div className={styles.modalContainerLeft}>\n                    <p className={styles.modalContainerLeftTitle}>Premium</p>\n                    <div className={styles.modalContainerLeftImage}>\n                        <CatPremiumResized />\n                    </div>\n                    <div className={styles.modalContainerLeftFeature}>\n                        <Star />\n                        <p className={styles.modalContainerLeftFeatureText}>\n                            Exclusive accommodation\n                        </p>\n                    </div>\n                    <div className={styles.modalContainerLeftFeature}>\n                        <Star style={{ width: \"62px\" }} />\n                        <p className={styles.modalContainerLeftFeatureText}>\n                            Private transfers from the arrival in the\n                            destination to your hotel and vv\n                        </p>\n                    </div>\n                    <div className={styles.modalContainerLeftFeature}>\n                        <Star />\n                        <p className={styles.modalContainerLeftFeatureText}>\n                            Private experiences\n                        </p>\n                    </div>\n                    <div className={styles.modalContainerLeftFeature}>\n                        <Star />\n                        <p className={styles.modalContainerLeftFeatureText}>\n                            Pre & post sale support\n                        </p>\n                    </div>\n                    <div className={styles.modalContainerLeftFeature}>\n                        <Star />\n                        <p className={styles.modalContainerLeftFeatureText}>\n                            Italian Experts\n                        </p>\n                    </div>\n                </div>\n                <div className={styles.modalContainerRight}>\n                    <h1 className={styles.modalContainerRightTitle}>\n                        These dates are also available in our Premium version!\n                    </h1>\n                    <p className={styles.modalContainerRightText}>\n                        With an additional €{differencePrice} you can upgrade\n                        your Experience with luxury hotels, private outings and\n                        premium assistance.\n                    </p>\n                    <div>\n                        <Btn\n                            fullWith\n                            onClick={() => {\n                                onBuy(true);\n                            }}\n                        >\n                            Choose Premium\n                        </Btn>\n                        <p\n                            className={styles.modalContainerRightUnderelineText}\n                            onClick={() => onBuy(false)}\n                        >\n                            Continue with Quality\n                        </p>\n                    </div>\n                </div>\n            </div>\n        </InfoModalContainer>\n    );\n};\n\nexport default InfoModalPremium;\n","import React, { useMemo } from \"react\";\nimport stylesCommon from \"@/styles/detail/DetailBookingSidebar/DetailBookingConfigurator.module.scss\";\nimport { InfoType } from \"@/models/common/enums\";\nimport { ExclusionDaysResponseTo, SlotsReadableTO } from \"@/models/detail\";\nimport moment from \"moment\";\nimport RangeDatePicker from \"../../addToCart/datepicker/RangeDatePicker\";\n\nconst DatePickerSectionDetail = ({\n    toggleInfoModal,\n    days,\n    isPremium,\n    daysExcluded,\n    discountedDates,\n    startDate,\n    slots,\n    setStartDate,\n    setStartDateView,\n    click,\n    setClick,\n    startDateView,\n}: {\n    toggleInfoModal: (info: InfoType) => void;\n    days: number;\n    isPremium: boolean;\n    daysExcluded: ExclusionDaysResponseTo | undefined;\n    discountedDates: string[];\n    startDate: Date | null;\n    startDateView: Date | null;\n    slots: SlotsReadableTO[];\n    setStartDate: React.Dispatch<React.SetStateAction<Date>>;\n    setStartDateView: React.Dispatch<React.SetStateAction<Date | null>>;\n    click: boolean;\n    setClick: React.Dispatch<React.SetStateAction<boolean>>;\n}) => {\n    const selectedExclusions = useMemo(\n        () =>\n            (isPremium\n                ? daysExcluded?.toExcludePremium\n                : daysExcluded?.toExcludeQuality) ?? [],\n        [daysExcluded, isPremium]\n    );\n\n    const slotsLastDate = useMemo(\n        () => moment.max(slots.map(slot => moment(slot.endDate))).toDate(),\n        [slots]\n    );\n\n    // useEffect(() => {\n    //     const selectedDateParam = router.query;\n\n    //     if (selectedDateParam.selectedDate === undefined) {\n    //         console.log(\"entrraaaaaaaaaaaaaaaaaaa\");\n    //         setStartDate(\n    //             getFirstUsefulDate(\n    //                 isPremium\n    //                     ? daysExcluded?.toExcludePremium\n    //                     : daysExcluded?.toExcludeQuality\n    //             )\n    //         );\n    //     }\n    // }, []);\n\n    return (\n        <>\n            <div className=\"d-flex justify-content-between align-items-center\">\n                <h3 className={stylesCommon.configuratorTitle}>Arrival date</h3>\n            </div>\n            <p className={stylesCommon.configuratorDescription}>\n                By selecting your arrival day, the departure date will be\n                automatically set according to the durantion of your vacation.\n                If the system doesn&apos;t let you pick a date, that means that\n                our journeys are not available from that day.\n            </p>\n            <RangeDatePicker\n                excludeDates={selectedExclusions}\n                discountedDates={discountedDates}\n                rangeLength={+days}\n                selectedDate={startDate}\n                lastDate={slotsLastDate}\n                setSelectedDate={setStartDate}\n                click={click}\n                startDateView={startDateView}\n                setStartDateView={setStartDateView}\n                setClick={setClick}\n            />\n            <p\n                className={`${stylesCommon.configuratorDescription} text-center mb-0`}\n            >\n                Do you wish to spend some extra time in Italy?\n            </p>\n            <div className=\"d-flex justify-content-center align-items-center\">\n                <span\n                    className={`${stylesCommon.configuratorDescription} text-center text-decoration-underline mt-0`}\n                    onClick={() => toggleInfoModal(InfoType.EXTRA_NIGHTS)}\n                >\n                    Here&apos;s how to do it\n                </span>\n            </div>\n        </>\n    );\n};\n\nexport default DatePickerSectionDetail;\n","import React, { useState } from \"react\";\nimport stylesCommon from \"@/styles/detail/DetailBookingSidebar/DetailBookingConfigurator.module.scss\";\nimport generalSvg from \"@/utils/svg-icon/general\";\nimport socialAndBrandSvg from \"@/utils/svg-icon/socialAndBrand\";\nimport styles from \"@/styles/detail/DetailBookingSidebar/ChooseExperienceSectionDetail.module.scss\";\nimport { useIsSM } from \"@/utils/hooks/useWindowSizes\";\n\nconst ChooseExperienceSectionDetail = ({\n    isPremium,\n    setIsPremium,\n    pricePremium,\n    priceQuality,\n}: {\n    isPremium: boolean;\n    setIsPremium: (el: boolean) => void;\n    pricePremium: number;\n    priceQuality: number;\n}) => {\n    const { Star } = generalSvg;\n    const { SketchLine } = socialAndBrandSvg;\n    const isSM = useIsSM();\n\n    const differencePrice =\n        pricePremium - priceQuality >= 0\n            ? pricePremium - priceQuality\n            : priceQuality - pricePremium;\n\n    const [showPrice, setShowPrice] = useState<\"quality\" | \"premium\" | null>(\n        null\n    );\n\n    return (\n        <>\n            <div className=\"d-flex justify-content-between align-items-center\">\n                <h3 className={stylesCommon.configuratorTitle}>\n                    Choose your Experience\n                </h3>\n            </div>\n            <p className={stylesCommon.configuratorDescription}>\n                We both offer a Quality and Premium version for our trips. Based\n                on your preference, choose your favorite formula.\n            </p>\n            <div className={styles.buttonContainer}>\n                <div\n                    className={\n                        !isPremium\n                            ? styles.buttonActiveQuality\n                            : styles.buttonDefaultQuality\n                    }\n                    onClick={() => {\n                        setIsPremium(false);\n                        const url = new URL(window.location.href);\n                        url.searchParams.set(\n                            \"isPremium\",\n                            !isPremium as unknown as string\n                        );\n                        window.history.replaceState(null, \"\", url);\n                        setShowPrice(null);\n                    }}\n                    onMouseEnter={() => isPremium && setShowPrice(\"quality\")}\n                    onMouseLeave={() => isPremium && setShowPrice(null)}\n                >\n                    {(showPrice === \"quality\" || isSM) && (\n                        <span className={styles.differencePriceQuality}>\n                            {pricePremium - priceQuality >= 0 ? \"-\" : \"+\"}€\n                            {differencePrice.toFixed(2)}\n                        </span>\n                    )}\n                    <span className=\"me-2\">Quality</span>\n                    <div className={styles.iconQuality}>\n                        <Star />\n                    </div>\n                </div>\n                <div\n                    className={\n                        isPremium\n                            ? styles.buttonActivePremium\n                            : styles.buttonDefaultPremium\n                    }\n                    onClick={() => {\n                        setIsPremium(true);\n                        const url = new URL(window.location.href);\n                        url.searchParams.set(\n                            \"isPremium\",\n                            !isPremium as unknown as string\n                        );\n                        window.history.replaceState(null, \"\", url);\n                        setShowPrice(null);\n                    }}\n                    onMouseEnter={() => !isPremium && setShowPrice(\"premium\")}\n                    onMouseLeave={() => !isPremium && setShowPrice(null)}\n                >\n                    {(showPrice === \"premium\" || isSM) && (\n                        <span className={styles.differencePricePremium}>\n                            {pricePremium - priceQuality >= 0 ? \"+\" : \"-\"}€\n                            {differencePrice.toFixed(2)}\n                        </span>\n                    )}\n                    <span className=\"me-2\">Premium</span>\n                    <div className={styles.iconPremium}>\n                        <SketchLine />\n                    </div>\n                </div>\n            </div>\n        </>\n    );\n};\n\nexport default ChooseExperienceSectionDetail;\n","import ButtonCta from \"@/components/common/ButtonCta\";\nimport {\n    getOriginalAmount,\n    getTourId,\n} from \"@/store/checkout/selector-checkout\";\nimport { useStore } from \"@/store/index\";\nimport { verifyCoupon } from \"@/utils/queries\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport React from \"react\";\nimport styles from \"@/styles/checkout/SummaryCheckoutCard.module.scss\";\n\nconst DiscountSectionDetail = () => {\n    const dispatchCommon = useStore(state => state.dispatchCommon);\n    const dispatch = useStore(state => state.dispatchCheckout);\n    const setErrorMsg = useStore(state => state.setErrorMsg);\n    const originalAmount = useStore(getOriginalAmount);\n    const tourId = useStore(getTourId);\n    // eslint-disable-next-line no-underscore-dangle\n    const userId = useStore(state => state.userState.userDetail._id);\n\n    const { mutate: checkCoupon } = useMutation(verifyCoupon, {\n        onSettled: () => {\n            dispatchCommon({ type: \"SET_LOADER_PAGE\", payload: false });\n        },\n        onSuccess: ({ coupon, discountedAmount }) => {\n            // Success actions\n            dispatch({\n                type: \"SET_COUPON\",\n                payload: coupon,\n            });\n            dispatch({\n                type: \"SET_TOTAL_AMOUNT\",\n                payload: discountedAmount,\n            });\n        },\n        onError: err => {\n            // Error actions\n            setErrorMsg(err as never);\n        },\n    });\n\n    if (!userId) {\n        return null;\n    }\n\n    return (\n        <ButtonCta\n            validator={value => !!value.trim()}\n            className={`${styles.inputDiscountField} mb-3`}\n            onClick={(value: string) => {\n                dispatchCommon({\n                    type: \"SET_LOADER_PAGE\",\n                    payload: true,\n                });\n                checkCoupon({\n                    code: value,\n                    originalAmount,\n                    tourId,\n                });\n            }}\n            placeholder=\"Enter your coupon code\"\n            isSmall\n        />\n    );\n};\n\nexport default DiscountSectionDetail;\n","import React, { useMemo } from \"react\";\nimport stylesCommon from \"@/styles/detail/DetailBookingSidebar/DetailBookingConfigurator.module.scss\";\nimport moment from \"moment\";\nimport { useStore } from \"@/store/index\";\nimport { MDBCol, MDBRow } from \"mdb-react-ui-kit\";\nimport styles from \"@/styles/detail/DetailBookingSidebar/PackageConfigurationSectionDetail.module.scss\";\nimport DiscountSectionDetail from \"./DiscountSectionDetail\";\n\nconst PackageConfigurationSectionDetail = ({\n    isPremium,\n    days,\n    startDate,\n}: // price,\n{\n    isPremium: boolean;\n    days: number;\n    startDate: Date | null;\n    // price: number;\n}) => {\n    // const dispatchCheckout = useStore(state => state.dispatchCheckout);\n    const formatPattern = \"MMMM D, YYYY\";\n\n    const isPets = useStore(state => state.checkoutState.orderData.pets);\n\n    const firstDate = useMemo(\n        () => moment(startDate).format(formatPattern).split(\",\"),\n        [startDate]\n    );\n    const getEndDate = () => {\n        return moment(startDate)\n            .add(days - 1, \"days\")\n            .format(formatPattern)\n            .split(\",\");\n    };\n\n    const rooms = useStore(state => state.checkoutState.orderData.rooms);\n\n    const calculateAdults = () => {\n        return rooms.reduce((previousValue, currentValue) => {\n            return previousValue + currentValue.adults;\n        }, 0);\n    };\n\n    const calculateToddlers = () => {\n        return rooms.reduce((previousValue, currentValue) => {\n            return previousValue + currentValue.newborns;\n        }, 0);\n    };\n\n    const calculateChildrens = () => {\n        return rooms.reduce((previousValue, currentValue) => {\n            return previousValue + (currentValue.children?.length ?? 0);\n        }, 0);\n    };\n\n    const languageSelected = useStore(\n        state => state.checkoutState.languageSelected\n    );\n    const clickLanguage = useStore(state => state.checkoutState.clickLanguage);\n\n    const valueCoupon = useStore(\n        state => state.checkoutState.orderData.coupon?.value\n    );\n    const clickConfirmDate = useStore(\n        state => state.checkoutState.clickConfirmDate\n    );\n\n    return (\n        <>\n            <div className=\"d-flex justify-content-between align-items-center\">\n                <h3 className={stylesCommon.configuratorTitle}>\n                    Your package configuration\n                </h3>\n            </div>\n            <ul>\n                <li>\n                    <p\n                        className={`${stylesCommon.configuratorDescription} mt-0 mb-0`}\n                    >\n                        {isPremium ? \"Premium\" : \"Quality\"} package\n                    </p>\n                </li>\n                <li>\n                    <p\n                        className={`${stylesCommon.configuratorDescription} mt-0 mb-0`}\n                    >\n                        {days} {days > 1 ? \"Days\" : \"Day\"}, {days - 1}{\" \"}\n                        {days - 1 > 1 ? \"nights\" : \"night\"}\n                    </p>\n                </li>\n                {firstDate.length > 0 &&\n                    firstDate[0] !== \"Invalid date\" &&\n                    clickConfirmDate && (\n                        <li>\n                            <p\n                                className={`${stylesCommon.configuratorDescription} mt-0 mb-0`}\n                            >\n                                Arrival date on {`${firstDate.at(0)}`}, Return\n                                on {`${getEndDate().at(0)}`}\n                            </p>\n                        </li>\n                    )}\n                <li>\n                    <p\n                        className={`${stylesCommon.configuratorDescription} mt-0 mb-0`}\n                    >\n                        {rooms.length} {rooms.length > 1 ? \"Rooms\" : \"Room\"},\n                        {calculateAdults() > 0 && ` ${calculateAdults()}`}\n                        {calculateAdults() > 0\n                            ? calculateAdults() === 1\n                                ? \" Adult\"\n                                : \" Adults\"\n                            : \"\"}\n                        {calculateChildrens() > 0 &&\n                            `, ${calculateChildrens()}`}\n                        {calculateChildrens() > 0\n                            ? calculateChildrens() === 1\n                                ? \" Child\"\n                                : \" Children\"\n                            : \"\"}\n                        {calculateToddlers() > 0 && `, ${calculateToddlers()}`}\n                        {calculateToddlers() >= 1 ? \" Toddlers\" : \"\"}\n                        {isPets ? \", travelling with pets\" : \"\"}\n                    </p>\n                </li>\n                {languageSelected && clickLanguage && (\n                    <li>\n                        <p\n                            className={`${stylesCommon.configuratorDescription} mt-0 mb-0 text-capitalize`}\n                        >\n                            {languageSelected} Language\n                        </p>\n                    </li>\n                )}\n            </ul>\n            <DiscountSectionDetail />\n            {/* <MDBRow className={styles.packagePriceRow}>\n                <MDBCol size={4}>\n                    <p className={styles.packagePriceTitle}>Package price</p>\n                </MDBCol>\n                <MDBCol size={8}>\n                    <p className={styles.packagePricePrice}>\n                        {price.toFixed(2)} €\n                    </p>\n                </MDBCol>\n            </MDBRow> */}\n            {(valueCoupon ?? 0) > 0 && (\n                <MDBRow className={styles.packagePriceRow}>\n                    <MDBCol size={4}>\n                        <p className={styles.packagePriceTitle}>\n                            Coupon discount\n                        </p>\n                    </MDBCol>\n                    <MDBCol size={8}>\n                        <p className={styles.packagePricePrice}>\n                            - {valueCoupon} €\n                        </p>\n                    </MDBCol>\n                </MDBRow>\n            )}\n\n            {/* <MDBRow className={styles.totalRow}>\n                <MDBCol size={4}>\n                    <p className={styles.total}>\n                        Total <span className={styles.eur}>(EUR)</span>\n                    </p>\n                </MDBCol>\n                <MDBCol size={8}>\n                    <p className={styles.TotalPrice}>\n                        {Number(totalAmount).toFixed(2)}€\n                    </p>\n                </MDBCol>\n            </MDBRow> */}\n        </>\n    );\n};\n\nexport default PackageConfigurationSectionDetail;\n","const ConvertCurrentCurrency = ({\n    className,\n    price,\n}: {\n    price: string;\n    className?: string;\n}) => (\n    <p className={`${className} text-decoration-underline text-start pointer`}>\n        <a\n            href={`https://www.oanda.com/currency-converter/?from=EUR&to=USD&amount=${price}`}\n            target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            className=\"PIColorGray PIfontRegular\"\n        >\n            Convert current currency (€)\n        </a>\n    </p>\n);\n\nexport default ConvertCurrentCurrency;\n","import { FC } from \"react\";\nimport { MDBCol, MDBRow } from \"mdb-react-ui-kit\";\nimport { transformPrice } from \"@/utils/common\";\nimport { useStore } from \"@/store/index\";\nimport styles from \"../../styles/detail/DetailAddToCart.module.scss\";\nimport InfoCircleLine from \"../../public/custom-icons/icons-2/icons/Info Circle/Line.svg\";\nimport ConvertCurrentCurrency from \"../common/ConvertCurrentCurrency\";\n\nconst PackageDetailAddToCartBoxInfo: FC<{\n    price: number;\n    onClickInfo: () => void;\n    showPrice?: boolean;\n}> = ({ price, onClickInfo, showPrice = true }) => {\n    const priceFixed = price as unknown as string;\n    const { clickConfirmDate } = useStore(state => state.checkoutState);\n\n    return (\n        <MDBRow\n            className={`${styles.priceContainer} ${styles.addToCartBoxInfoText} m-0 p-0`}\n        >\n            <MDBCol\n                className=\"p-0 d-flex justify-content-center\"\n                size=\"6\"\n                center\n            >\n                <MDBRow className=\"d-inline-flex\">\n                    <MDBCol className=\"text-center\">\n                        <span className={`${styles.addToCartBoxPrice} pe-0`}>\n                            {showPrice && clickConfirmDate\n                                ? transformPrice(price)\n                                : \"-\"}\n                            €\n                        </span>\n                        <ConvertCurrentCurrency\n                            className=\"text-center\"\n                            price={priceFixed}\n                        />\n                    </MDBCol>\n                </MDBRow>\n            </MDBCol>\n\n            <MDBCol size=\"6\" className=\"border-start border-2 ps-4 d-flex\">\n                <div className=\"d-flex justify-content-center flex-column\">\n                    <div\n                        className={`${styles.paddingAddToCartBoxRightText} text-center p-0`}\n                    >\n                        Prices may vary based on tariffs and seasonal changes.\n                    </div>\n\n                    <div\n                        style={{ cursor: \"pointer\" }}\n                        onClick={onClickInfo}\n                        className={`${styles.showMore} cursor-pointer ps-xxl-1 align-items-center text-decoration-underline d-flex justify-content-center`}\n                    >\n                        show more{\" \"}\n                        <div className=\"pe-auto d-inline-flex\">\n                            <div className={`${styles.infoIcon} p-0`}>\n                                <InfoCircleLine />\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </MDBCol>\n        </MDBRow>\n    );\n};\n\nexport default PackageDetailAddToCartBoxInfo;\n","import React from \"react\";\nimport stylesCommon from \"@/styles/detail/DetailBookingSidebar/DetailBookingConfigurator.module.scss\";\nimport { InfoType } from \"@/models/common/enums\";\nimport PackageDetailAddToCartBoxInfo from \"../../PackageDetailAddToCartBoxInfo\";\n\nconst FinalPriceSectionDetail = ({\n    price,\n    toggleInfoModal,\n    showPrice = true,\n}: {\n    price: number;\n    toggleInfoModal: (info: InfoType) => void;\n    showPrice?: boolean;\n}) => {\n    return (\n        <>\n            <div className=\"d-flex justify-content-between align-items-center mt-4 mb-4\">\n                <h3 className={stylesCommon.configuratorTitle}>\n                    Your package price\n                </h3>\n            </div>\n            <PackageDetailAddToCartBoxInfo\n                showPrice={showPrice}\n                price={price}\n                onClickInfo={() => toggleInfoModal(InfoType.PRICE)}\n            />\n        </>\n    );\n};\n\nexport default FinalPriceSectionDetail;\n","import { InfoType } from \"@/models/common/enums\";\nimport shoppingSvg from \"@/utils/svg-icon/shopping\";\nimport { MDBBtn } from \"mdb-react-ui-kit\";\nimport React, { useState } from \"react\";\nimport stylesAddToCart from \"@/styles/detail/DetailAddToCart.module.scss\";\nimport styles from \"@/styles/detail/DetailBookingSidebar/PackageConfigurationSectionDetail.module.scss\";\nimport { useStore } from \"@/store/index\";\n\nconst ButtonBuySectionDetail = ({\n    errorGuest,\n    toggleInfoModal,\n    clickDate,\n    setShowModalPremium,\n    onBuy,\n    isPremium,\n}: {\n    errorGuest: number;\n    toggleInfoModal: (info: InfoType) => void;\n    clickDate: boolean;\n    setShowModalPremium: boolean;\n    onBuy: (isPremiumFlag: boolean) => void;\n    isPremium: boolean;\n}) => {\n    const [click, setClick] = useState<boolean>(false);\n    const { clickConfirmDate } = useStore(state => state.checkoutState);\n    const languageSelected = useStore(\n        state => state.checkoutState.languageSelected\n    );\n    const clickLanguage = useStore(state => state.checkoutState.clickLanguage);\n    const { ShoppingBag } = shoppingSvg;\n    return (\n        <>\n            <div className={styles.container}>\n                {errorGuest > 0 && click && clickDate && (\n                    <div className={styles.popoverContainer}>\n                        <div className={styles.popoverContainerArrow} />\n                        <span className={styles.popoverContainerText}>\n                            Please fix your room configuration\n                        </span>\n                    </div>\n                )}\n                {!clickDate && click && (\n                    <div className={styles.popoverContainer}>\n                        <div className={styles.popoverContainerArrow} />\n                        <span className={styles.popoverContainerText}>\n                            Please select your arrival date\n                        </span>\n                    </div>\n                )}\n                {!languageSelected &&\n                    click &&\n                    clickDate &&\n                    errorGuest === 0 && (\n                        <div className={styles.popoverContainer}>\n                            <div className={styles.popoverContainerArrow} />\n                            <span className={styles.popoverContainerText}>\n                                Please select your tour language\n                            </span>\n                        </div>\n                    )}\n            </div>\n            <div className={stylesAddToCart.buttonBuySection}>\n                <MDBBtn\n                    className={\n                        errorGuest > 0 ||\n                        !clickDate ||\n                        !languageSelected ||\n                        !clickLanguage ||\n                        !clickConfirmDate\n                            ? `${stylesAddToCart.addToCartButtonDisabled}`\n                            : `${stylesAddToCart.addToCartButton}`\n                    }\n                    onClick={() => {\n                        if (\n                            errorGuest === 0 &&\n                            clickDate &&\n                            languageSelected &&\n                            clickConfirmDate &&\n                            clickLanguage\n                        ) {\n                            if (setShowModalPremium) {\n                                toggleInfoModal(InfoType.MODAL_PREMIUM);\n                            } else {\n                                onBuy(isPremium);\n                            }\n                        }\n                    }}\n                    onMouseEnter={() => {\n                        if (!clickDate) setClick(true);\n                        else if (errorGuest > 0)\n                            setClick(errorGuest > 0 && !click);\n                        else setClick(!languageSelected);\n                    }}\n                    onMouseLeave={() => setClick(false)}\n                >\n                    Reserve\n                    <div className=\"ps-3 pt-1\">\n                        <ShoppingBag />\n                    </div>\n                </MDBBtn>\n                <p style={{ color: \"darkgrey\", fontSize: \"13px\" }}>\n                    {\" \"}\n                    You won’t be charged yet{\" \"}\n                </p>\n            </div>\n        </>\n    );\n};\n\nexport default ButtonBuySectionDetail;\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport styles from \"@/styles/detail/DetailBookingSidebar/DetailBookingConfigurator.module.scss\";\nimport {\n    ENUM_ECCESSO,\n    ERoomType,\n    ETourLanguage,\n    ETourOption,\n    ETypePackage,\n    InfoType,\n} from \"@/models/common/enums\";\nimport InfoModalGeneral from \"@/components/common/info/InfoModalGeneral\";\nimport {\n    cancellationPolicyContent,\n    dateContent,\n    extraNightsContent,\n    languageContent,\n    nightsContent,\n    priceContent,\n    qualityPremiumContent,\n} from \"@/utils/mockData/infoMock\";\nimport InfoModalDouble from \"@/components/common/info/InfoModalDouble\";\nimport InfoModalVideo from \"@/components/common/info/InfoModalVideo\";\nimport moment from \"moment\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { getExcludedDaysSession } from \"@/utils/queries\";\nimport { SlotsReadableTO } from \"@/models/detail\";\nimport Link from \"next/link\";\nimport { useStore } from \"@/store/index\";\nimport { IRoom, ISaveCheckoutData } from \"@/models/checkout\";\nimport InfoModalPremium from \"@/components/common/info/InfoModalPremium\";\nimport { useRouter } from \"next/router\";\nimport useCalculatePrice from \"@/utils/hooks/useCalculatePrice\";\n// import LanguageSectionDetail from \"./LanguageSectionDetail\";\nimport DatePickerSectionDetail from \"./DatePickerSectionDetail\";\nimport RoomTravellersSectionDetail from \"./RoomTravellersSectionDetail\";\nimport ChooseExperienceSectionDetail from \"./ChooseExperienceSectionDetail\";\nimport PackageConfigurationSectionDetail from \"./PackageConfigurationSectionDetail\";\nimport FinalPriceSectionDetail from \"./FinalPriceSectionDetail\";\nimport ButtonBuySectionDetail from \"./ButtonBuySectionDetail\";\n\nconst DetailBookingConfigurator = ({\n    isPremium,\n    setIsPremium,\n    slots,\n    tourId,\n    days,\n    typePackage,\n    pricePremium,\n    priceQuality,\n    slotsPremium,\n    slotsQuality,\n    languages,\n}: {\n    tourId: string;\n    setIsPremium: (el: boolean) => void;\n    isPremium: boolean;\n    slots: SlotsReadableTO[];\n    days: string;\n    typePackage: ETypePackage;\n    priceQuality: number;\n    pricePremium: number;\n    slotsPremium: SlotsReadableTO[];\n    slotsQuality: SlotsReadableTO[];\n    languages: ETourLanguage[];\n}) => {\n    // const { PlayLine } = mediaControlSvg;\n\n    /*\n     IMPORTANT\n     E' RICHIESTA DI PLAYITALY DI AVERE SELEZIONATO SEMPRE E SOLO INGLESE COME LINGUA DEL TOUR\n     E' STATA INIBITA LA SEZIONE LanguageSectionDetail\n    */\n\n    const router = useRouter();\n\n    const [infoContent, setInfoContent] = useState<InfoType>(InfoType.PRICE);\n    const [clickDate, setClickDate] = useState<boolean>(\n        router.query.clickDate\n            ? JSON.parse(router.query.clickDate as string)\n            : false\n    );\n    // const [clickLanguage, setClickLanguage] = useState<boolean>(\n    //     router.query.clickLanguage\n    //         ? JSON.parse(router.query.clickLanguage as string)\n    //         : false\n    // );\n    const [eccessoList, setEccessoList] = useState<ENUM_ECCESSO[]>(\n        router.query.eccessoList\n            ? JSON.parse(router.query.eccessoList as string)\n            : []\n    );\n    const [pets, setPets] = useState<boolean>(\n        router.query.pets ? JSON.parse(router.query.pets as string) : false\n    );\n    const [show, setShow] = useState(false);\n    const dispatchCheckout = useStore(state => state.dispatchCheckout);\n    const discountAmount = useStore(\n        state => state.checkoutState.orderData.coupon?.value\n    );\n\n    const { data: daysExcluded, refetch } = useQuery({\n        queryKey: [\"exclusionDays\", tourId],\n        queryFn: () => getExcludedDaysSession(tourId),\n    });\n\n    const toggleInfoModal = (info: InfoType) => {\n        if (info === InfoType.DATE) refetch();\n        setInfoContent(info);\n        setShow(true);\n    };\n\n    const dateFormat = \"YYYY-MM-DD\";\n\n    const getFirstUsefulDate = (\n        excludedDates: string[] | undefined,\n        date?: Date\n    ) => {\n        const currentDate = moment();\n        const found = excludedDates?.find(\n            element => element === currentDate.format(dateFormat)\n        );\n        if (found) {\n            const sortedExcludedDates = excludedDates?.sort((a, b) => {\n                return moment(a).diff(b);\n            });\n            const excludeDate = sortedExcludedDates?.find(\n                (currentElement, index, arr) =>\n                    !moment(currentElement)\n                        .add(1, \"day\")\n                        .isSame(arr.at(index + 1)) &&\n                    moment(currentElement)\n                        .add(1, \"day\")\n                        .isAfter(date ?? currentDate.toDate())\n            );\n            return moment(excludeDate).add(1, \"day\").toDate();\n        }\n        return currentDate.toDate();\n    };\n\n    const [startDate, setStartDate] = useState<Date>(\n        router.query.clickDate && router.query.selectedDate\n            ? moment(router.query.selectedDate as string, \"DD/MM/YYYY\").toDate()\n            : getFirstUsefulDate(\n                  isPremium\n                      ? daysExcluded?.toExcludePremium\n                      : daysExcluded?.toExcludeQuality\n              )\n    );\n\n    const [startDateView, setStartDateView] = useState<Date | null>(\n        router.query.clickDate && router.query.selectedDate\n            ? moment(router.query.selectedDate as string, \"DD/MM/YYYY\").toDate()\n            : null\n    );\n\n    const { overrideDate, discountedDates } = useMemo(() => {\n        const override =\n            (isPremium\n                ? daysExcluded?.overridePremium\n                : daysExcluded?.overrideQuality) || [];\n        const discounted = override.reduce((acc, value) => {\n            return value.discount ? [...acc, value.day] : acc;\n        }, [] as string[]);\n        return { overrideDate: override, discountedDates: discounted };\n    }, [daysExcluded, isPremium]);\n\n    const selectedSlot = useMemo(() => {\n        return slots.find(slot =>\n            moment(moment(startDate).format(dateFormat)).isBetween(\n                moment(slot.startDate),\n                moment(slot.endDate),\n                undefined,\n                \"[]\"\n            )\n        );\n    }, [slots, startDate]);\n\n    const roomStore = useStore(state => state.checkoutState.orderData.rooms);\n\n    const overrideDateFind = useMemo(() => {\n        const selectedOverride = overrideDate.find(value =>\n            moment(startDate).isSame(value.day)\n        );\n        return selectedOverride?.roomsOverride ?? [];\n    }, [overrideDate, startDate]);\n\n    const calculateSelectedSlot = (item: IRoom) => {\n        const idxSlot =\n            item.type === ERoomType.SINGLE\n                ? 0\n                : item.type === ERoomType.DOUBLE\n                ? 1\n                : 2;\n\n        if (overrideDateFind.length > 0) {\n            return overrideDateFind.at(idxSlot);\n        }\n\n        return selectedSlot?.rooms.at(idxSlot);\n    };\n\n    const [errorGuest, setErrorGuest] = useState<number>(0);\n\n    const totalAmount = useStore(\n        state => state.checkoutState.orderData.totalAmount\n    );\n\n    const showModalPremium = useMemo(() => {\n        if (!isPremium && startDate) {\n            const selectedSlotPremium = slotsPremium.find(slot =>\n                moment(moment(startDate).format(dateFormat)).isBetween(\n                    moment(slot.startDate),\n                    moment(slot.endDate),\n                    undefined,\n                    \"[]\"\n                )\n            );\n\n            return !!selectedSlotPremium;\n        }\n        return false;\n    }, [isPremium, slotsPremium, startDate]);\n\n    const rooms = useStore(state => state.checkoutState.orderData.rooms);\n    const { languageSelected } = useStore(state => state.checkoutState);\n    const setErrorMessage = useStore(state => state.setErrorMsg);\n    const dispatchCommon = useStore(state => state.dispatchCommon);\n\n    const priceTotal = useCalculatePrice({\n        isPremium,\n        rooms,\n        slots,\n        startDate: startDate ? startDate.toDateString() : \"\",\n        tourId,\n    });\n\n    const onBuy = (isPremiumFlag: boolean) => {\n        if (selectedSlot) {\n            dispatchCommon({ type: \"RESET_COMMON\" });\n\n            if (isPremiumFlag) setIsPremium(true);\n\n            const queryData: Partial<ISaveCheckoutData> = {\n                tourId,\n                amount: priceTotal.price,\n                date: startDate?.toISOString(),\n                rooms: rooms?.map(room => ({\n                    ...room,\n                })),\n                option: isPremiumFlag\n                    ? ETourOption.PREMIUM\n                    : ETourOption.QUALITY,\n                language: languageSelected,\n                pets,\n                eccessoList,\n            };\n\n            router.push(\n                {\n                    pathname: \"/checkout\",\n                    query: {\n                        checkoutData: JSON.stringify(queryData),\n                    },\n                },\n                undefined,\n                { shallow: true }\n            );\n        } else {\n            setErrorMessage({\n                message: \"Tour not available for the selected date\",\n            });\n        }\n    };\n\n    const modalsInfo = {\n        [InfoType.PRICE]: (\n            <InfoModalGeneral\n                content={priceContent}\n                show={show}\n                setShow={setShow}\n            />\n        ),\n        [InfoType.DATE]: (\n            <InfoModalGeneral\n                content={dateContent}\n                show={show}\n                setShow={setShow}\n            />\n        ),\n        [InfoType.NIGHTS]: (\n            <InfoModalGeneral\n                content={nightsContent}\n                show={show}\n                setShow={setShow}\n            />\n        ),\n        [InfoType.LANGUAGE]: (\n            <InfoModalGeneral\n                content={languageContent}\n                show={show}\n                setShow={setShow}\n            />\n        ),\n        [InfoType.EXTRA_NIGHTS]: (\n            <InfoModalGeneral\n                content={extraNightsContent}\n                show={show}\n                setShow={setShow}\n            />\n        ),\n        [InfoType.CANCELLATION_POLICY]: (\n            <InfoModalGeneral\n                content={cancellationPolicyContent}\n                show={show}\n                setShow={setShow}\n            />\n        ),\n        [InfoType.TOURTYPE]: (\n            <InfoModalDouble\n                content={qualityPremiumContent}\n                show={show}\n                setShow={setShow}\n            />\n        ),\n        [InfoType.VIDEO_JOURNEY]: (\n            <InfoModalVideo\n                content=\"/video/video.mp4\"\n                show={show}\n                setShow={setShow}\n            />\n        ),\n        [InfoType.MODAL_PREMIUM]: (\n            <InfoModalPremium\n                show={show}\n                setShow={setShow}\n                onBuy={onBuy}\n                pricePremium={pricePremium}\n                priceQuality={priceQuality}\n            />\n        ),\n    };\n\n    const priceQualityUse = useCalculatePrice({\n        isPremium: false,\n        rooms,\n        slots: slotsQuality,\n        startDate: startDate ? startDate.toDateString() : \"\",\n        tourId,\n    });\n\n    const pricePremiumUse = useCalculatePrice({\n        isPremium: true,\n        rooms,\n        slots: slotsPremium,\n        startDate: startDate ? startDate.toDateString() : \"\",\n        tourId,\n    });\n\n    useEffect(() => {\n        dispatchCheckout({\n            type: \"UPDATE_ORDER_DATA\",\n            payload: {\n                originalAmount: priceTotal.price,\n                totalAmount: priceTotal.price - (discountAmount || 0),\n            },\n        });\n        dispatchCheckout({\n            type: \"SET_PRICE_ROOM\",\n            payload: priceTotal.roomCurrent.map(res => ({\n                grossPrice: res?.grossPrice ?? \"\",\n                type: res?.type ?? \"\",\n            })),\n        });\n    }, [priceTotal.price, discountAmount, dispatchCheckout]);\n\n    useEffect(() => {\n        console.log(\"languages\", languages);\n        const url = new URL(window.location.href);\n        url.searchParams.set(\"clickLanguage\", true as unknown as string);\n        window.history.replaceState(null, \"\", url);\n    });\n    return (\n        <div\n            className={`${styles.configurator} ${\n                isPremium\n                    ? `${styles.configuratorBorderPremium}`\n                    : `${styles.configuratorBorderQuality}`\n            }`}\n        >\n            {modalsInfo[infoContent]}\n            {/* <h3 className={styles.configuratorTitle}>Customize your Journey</h3>\n            <p className={styles.configuratorDescription}>\n                We&apos;re here to make your booking experience seamless. For\n                extra help, please follow our easy guide.\n            </p>\n            <MDBBtn\n                className={styles.configuratorWatchTutorialButton}\n                onClick={() => toggleInfoModal(InfoType.VIDEO_JOURNEY)}\n            >\n                <span>Watch tutorial</span>\n                <div className=\"ps-3 pt-1\">\n                    <PlayLine />\n                </div>\n            </MDBBtn>\n            <div className={styles.configuratorDivider} /> */}\n            {/* <LanguageSectionDetail\n                languages={languages}\n                selectedSlot={selectedSlot}\n                overrideDate={overrideDate}\n                startDate={startDate}\n                clickLanguage={clickLanguage}\n                setClickLanguage={setClickLanguage}\n            /> */}\n            {/* <div className={styles.configuratorDivider} /> */}\n            <DatePickerSectionDetail\n                toggleInfoModal={toggleInfoModal}\n                days={+days}\n                daysExcluded={daysExcluded}\n                discountedDates={discountedDates}\n                isPremium={isPremium}\n                slots={slots}\n                startDate={startDate}\n                setStartDate={setStartDate}\n                setStartDateView={setStartDateView}\n                startDateView={startDateView}\n                click={clickDate}\n                setClick={setClickDate}\n            />\n            <div className={styles.configuratorDivider} />\n            <RoomTravellersSectionDetail\n                rooms={roomStore}\n                calculateSelectedSlot={calculateSelectedSlot}\n                errorGuest={errorGuest}\n                setErrorGuest={setErrorGuest}\n                pets={pets}\n                setPets={setPets}\n                eccessoList={eccessoList}\n                setEccessoList={setEccessoList}\n            />\n            {typePackage === ETypePackage.QUALITY_AND_PREMIUM && (\n                <>\n                    <div className={styles.configuratorDivider} />\n                    <ChooseExperienceSectionDetail\n                        isPremium={isPremium}\n                        setIsPremium={setIsPremium}\n                        pricePremium={pricePremiumUse.price}\n                        priceQuality={priceQualityUse.price}\n                    />\n                </>\n            )}\n            <div className={styles.configuratorDivider} />\n            <PackageConfigurationSectionDetail\n                isPremium={isPremium}\n                days={+days}\n                startDate={startDateView}\n                // price={calculatePrice}\n            />\n            <div className={styles.configuratorDivider} />\n            <FinalPriceSectionDetail\n                price={totalAmount}\n                toggleInfoModal={toggleInfoModal}\n                showPrice={clickDate}\n            />\n            <div className={styles.configuratorDivider} />\n            <ButtonBuySectionDetail\n                errorGuest={errorGuest}\n                toggleInfoModal={toggleInfoModal}\n                clickDate={clickDate}\n                setShowModalPremium={showModalPremium}\n                onBuy={onBuy}\n                isPremium={isPremium}\n            />\n\n            <h4\n                className={styles.configuratorCancellationPolicyText}\n                onClick={() => toggleInfoModal(InfoType.CANCELLATION_POLICY)}\n                style={{ color: \"red\" }}\n            >\n                Free cancellation policy available\n            </h4>\n            <div className={styles.configuratorFaqContainer}>\n                <Link\n                    className={styles.configuratorFaqText}\n                    href=\"/faq\"\n                    target=\"_blank\"\n                    style={{ textDecoration: \"underline\" }}\n                >\n                    FAQ\n                </Link>\n            </div>\n        </div>\n    );\n};\n\nexport default DetailBookingConfigurator;\n","import { MDBCol } from \"mdb-react-ui-kit\";\nimport { FC, useEffect, useState } from \"react\";\nimport DetailFixedBarMobile from \"@/components/detail/DetailFixedBarMobile\";\nimport useSticky from \"@/hooks/useSticky\";\nimport ModalCartContainer from \"@/components/detail/addToCart/modal/ModalCartContainer\";\nimport { TourReadableTO } from \"@/models/detail\";\nimport styles from \"@/styles/detail/DetailBooking.module.scss\";\nimport { useStore } from \"@/store/index\";\nimport {\n    EDetailSection,\n    ETourLanguage,\n    ETypePackage,\n} from \"@/models/common/enums\";\nimport DetailBookingConfigurator from \"./DetailBookingSidebar/DetailBookingConfigurator\";\nimport { RequestAQuoteForm } from \"./RequestAQuoteForm\";\n\nconst PackageDetailBookingMobile: FC<{\n    packageDetail: TourReadableTO;\n    isPremium: boolean;\n    isOnScreen: boolean;\n    price: number;\n    // setPrice: Dispatch<SetStateAction<number>>;\n    setIsPremium: (el: boolean) => void;\n    // setIsPromo: (el: boolean) => void;\n    offset: number;\n    days: string;\n    typePackage: ETypePackage;\n    pricePremium: number;\n    priceQuality: number;\n    packagePremium: TourReadableTO;\n    packageQuality: TourReadableTO;\n    languages: ETourLanguage[];\n    isRequestAQuote?: boolean;\n}> = ({\n    packageDetail,\n    isPremium,\n    isOnScreen,\n    price,\n    // setPrice,\n    setIsPremium,\n    offset,\n    // setIsPromo,\n    days,\n    typePackage,\n    pricePremium,\n    priceQuality,\n    packagePremium,\n    packageQuality,\n    languages,\n    isRequestAQuote,\n}) => {\n    const { sticky, stickyRef, setOffset } = useSticky(1155);\n    const [show, setShow] = useState(false);\n\n    const currentSection = useStore(state => state.packageState.currentSection);\n\n    const [displayBottomMenu, setDisplayBottomMenu] = useState(false);\n\n    useEffect(() => {\n        if (isOnScreen) {\n            setOffset(offset);\n        }\n    }, [isOnScreen, offset]);\n\n    useEffect(() => {\n        if (currentSection === EDetailSection.GENERAL) {\n            setDisplayBottomMenu(false);\n        } else if (\n            (currentSection === EDetailSection.ITINERARY ||\n                currentSection === EDetailSection.ACCOMMODATION ||\n                currentSection === EDetailSection.HIW) &&\n            !displayBottomMenu\n        ) {\n            setDisplayBottomMenu(true);\n        }\n    }, [currentSection]);\n\n    return (\n        <>\n            <MDBCol\n                size={12}\n                lg={4}\n                ref={stickyRef}\n                className={`p-0 ps-lg-4 ${styles.addToCartContainer} ${\n                    sticky && styles.isStickyBottom\n                } ${sticky ? \"d-inline\" : \"d-none\"}`}\n            >\n                <DetailFixedBarMobile\n                    isPremium={isPremium}\n                    onClick={() => setShow(true)}\n                    price={price}\n                    packageDetail={packageDetail}\n                    days={days}\n                    isRequestAQuote={isRequestAQuote}\n                />\n            </MDBCol>\n            <ModalCartContainer setShow={setShow} show={show}>\n                <MDBCol\n                    size={12}\n                    lg={4}\n                    className={`p-0 ps-lg-4 ${styles.addToCartContainer}`}\n                >\n                    <DetailFixedBarMobile\n                        isPremium={isPremium}\n                        onClick={() => setShow(true)}\n                        price={price}\n                        packageDetail={packageDetail}\n                        days={days}\n                        isRequestAQuote={isRequestAQuote}\n                    />\n                </MDBCol>\n                <MDBCol size={12} className={`${styles.addToCartContainer}`}>\n                    {/* <PackageDetailAddToCart\n                        isPremium={isPremium}\n                        setIsPremium={setIsPremium}\n                        setIsPromo={setIsPromo}\n                        price={price}\n                        setPrice={setPrice}\n                        whatIsIncluded={packageDetail.whatIsIncluded}\n                        associatedToursIds={packageDetail.associatedTours}\n                        days={days}\n                        tourId={packageDetail.tourId}\n                        slots={packageDetail.slots}\n                        typePackage={typePackage}\n                    /> */}\n                    {isRequestAQuote ? (\n                        <RequestAQuoteForm\n                            id={packageDetail.tourId}\n                            activities={\n                                packageDetail.requestAQuoteActivities ?? []\n                            }\n                            fromSmallDevices\n                        />\n                    ) : (\n                        <DetailBookingConfigurator\n                            tourId={packageDetail.tourId}\n                            isPremium={isPremium}\n                            setIsPremium={setIsPremium}\n                            slots={packageDetail.slots}\n                            slotsPremium={packagePremium.slots}\n                            slotsQuality={packageQuality.slots}\n                            days={days}\n                            typePackage={typePackage}\n                            pricePremium={pricePremium}\n                            priceQuality={priceQuality}\n                            languages={languages}\n                        />\n                    )}\n                </MDBCol>\n            </ModalCartContainer>\n        </>\n    );\n};\n\nexport default PackageDetailBookingMobile;\n","import React from \"react\";\nimport styles from \"@/styles/common/Accordion.module.scss\";\nimport userInterfaceSvg from \"@/utils/svg-icon/userInterface\";\n\nexport interface AccordionItemProps {\n    title: string;\n    extraTitle?: React.ReactNode;\n    showDivider?: boolean;\n    className?: string;\n    isOpen?: boolean;\n    onItemClick?: () => void;\n    children: React.ReactNode;\n}\n\nconst Accordion: React.FC<AccordionItemProps> = ({\n    title,\n    extraTitle,\n    children,\n    isOpen,\n    onItemClick,\n    showDivider = true,\n    className = \"\",\n}) => {\n    const { ArrowUpSimpleLine } = userInterfaceSvg;\n\n    const handleItemClick = () => {\n        if (onItemClick) {\n            onItemClick();\n        }\n    };\n\n    return (\n        <div className={`${styles.accordionItem} ${className}`}>\n            <div\n                className={`${styles.accordionItemHeader} ${\n                    isOpen ? styles.accordionItemHeaderOpen : \"\"\n                }\n                ${\n                    isOpen && showDivider\n                        ? styles.accordionItemHeaderOpenDivider\n                        : \"\"\n                }\n                `}\n                onClick={handleItemClick}\n            >\n                <h3 className={styles.sectionTitle}>{title}</h3>\n                {extraTitle && <div className=\"me-auto\">{extraTitle}</div>}\n                <div\n                    className={\n                        isOpen\n                            ? styles.accordionItemHeaderIcon\n                            : styles.accordionItemHeaderIconOpen\n                    }\n                >\n                    <ArrowUpSimpleLine />\n                </div>\n            </div>\n            {isOpen && (\n                <div className={styles.accordionContent}>{children}</div>\n            )}\n        </div>\n    );\n};\n\nexport default Accordion;\n","import React from \"react\";\nimport styles from \"@/styles/detail/DetailBookingSidebar/AccordionItemActivity.module.scss\";\nimport userInterfaceSvg from \"@/utils/svg-icon/userInterface\";\n\nexport interface AccordionItemProps {\n    title: string;\n    extraTitle?: React.ReactNode;\n    showDivider?: boolean;\n    classNameHeader?: string;\n    isOpen?: boolean;\n    onItemClick?: () => void;\n    children: React.ReactNode;\n}\n\nconst AccordionItemActivity: React.FC<AccordionItemProps> = ({\n    title,\n    extraTitle,\n    children,\n    isOpen,\n    onItemClick,\n    showDivider = true,\n    classNameHeader = \"\",\n}) => {\n    const { ArrowUpSimpleLine } = userInterfaceSvg;\n\n    const handleItemClick = () => {\n        if (onItemClick) {\n            onItemClick();\n        }\n    };\n\n    return (\n        <div\n            className={`${styles.accordionItem} ${\n                isOpen && styles.accordionItemOpen\n            }`}\n        >\n            <div\n                className={`${styles.accordionItemHeader} ${classNameHeader} ${\n                    isOpen ? styles.accordionItemHeaderOpen : \"\"\n                }\n                ${\n                    isOpen && showDivider\n                        ? styles.accordionItemHeaderOpenDivider\n                        : \"\"\n                }\n                `}\n                onClick={handleItemClick}\n            >\n                {extraTitle && <div className=\"me-3\">{extraTitle}</div>}\n                <h3 className=\"me-auto\">{title}</h3>\n\n                <div\n                    className={\n                        isOpen\n                            ? styles.accordionItemHeaderIcon\n                            : styles.accordionItemHeaderIconOpen\n                    }\n                >\n                    <ArrowUpSimpleLine />\n                </div>\n            </div>\n            {isOpen && (\n                <div className={styles.accordionItemContent}>{children}</div>\n            )}\n        </div>\n    );\n};\n\nexport default AccordionItemActivity;\n","import ActivityIcon from \"@/components/common/ActivityIcon\";\nimport Accordion from \"@/components/common/accordion/Accordion\";\nimport AccordionItem from \"@/components/detail/DetailBooking/DetailBookingSidebar/Accordion\";\nimport { WhatIsIncludedTO } from \"@/models/detail\";\nimport { QuillDeltaToHtmlConverter } from \"quill-delta-to-html\";\nimport styles from \"@/styles/detail/DetailBookingSidebar/ActivityIconBody.module.scss\";\nimport AccordionItemActivity from \"./AccordionItemActivity\";\n\nconst ActivityIconBody = ({\n    whatIsIncluded,\n    whatIsIncludedDelta,\n}: {\n    whatIsIncluded: WhatIsIncludedTO[];\n    whatIsIncludedDelta: {\n        ops: unknown[];\n    }[];\n}) => {\n    return (\n        <div className={styles.container}>\n            <Accordion className=\"p-0 m-0\">\n                <AccordionItem\n                    title=\"What is included:\"\n                    className=\"border-0 p-0 m-0\"\n                    showDivider={false}\n                >\n                    {whatIsIncluded?.map((el, idx) => {\n                        return (\n                            <Accordion className=\"p-0 m-0 mb-3\">\n                                <AccordionItemActivity\n                                    title={el.name}\n                                    showDivider={false}\n                                    classNameHeader=\"pb-0\"\n                                    extraTitle={\n                                        <ActivityIcon\n                                            alt={el.name}\n                                            borderColor={el.color}\n                                            src={el.icon}\n                                            className=\"p-2\"\n                                            isSmall\n                                        />\n                                    }\n                                >\n                                    <div\n                                        // eslint-disable-next-line react/no-danger\n                                        dangerouslySetInnerHTML={{\n                                            __html: new QuillDeltaToHtmlConverter(\n                                                whatIsIncludedDelta.at(idx)\n                                                    ?.ops ?? []\n                                            ).convert(),\n                                        }}\n                                    />\n                                </AccordionItemActivity>\n                            </Accordion>\n                        );\n                    })}\n                </AccordionItem>\n            </Accordion>\n        </div>\n    );\n};\n\nexport default ActivityIconBody;\n","import styles from \"@/styles/detail/DetailBookingSidebar/Sidebar.module.scss\";\nimport { SlotsReadableTO, WhatIsIncludedTO } from \"@/models/detail\";\nimport { ETourLanguage, ETypePackage } from \"@/models/common/enums\";\nimport ActivityIconBody from \"./ActivityIconBody\";\nimport DetailBookingConfigurator from \"./DetailBookingConfigurator\";\n\nconst Sidebar = ({\n    whatIsIncluded,\n    tourId,\n    isPremium,\n    setIsPremium,\n    slots,\n    days,\n    typePackage,\n    pricePremium,\n    priceQuality,\n    whatIsIncludedDelta,\n    slotsPremium,\n    slotsQuality,\n    languages,\n}: {\n    whatIsIncluded: WhatIsIncludedTO[];\n    whatIsIncludedDelta: {\n        ops: unknown[];\n    }[];\n    tourId: string;\n    setIsPremium: (el: boolean) => void;\n    isPremium: boolean;\n    slots: SlotsReadableTO[];\n    days: string;\n    typePackage: ETypePackage;\n    priceQuality: number;\n    pricePremium: number;\n    slotsPremium: SlotsReadableTO[];\n    slotsQuality: SlotsReadableTO[];\n    languages: ETourLanguage[];\n}) => {\n    return (\n        <div className={styles.container}>\n            <ActivityIconBody\n                whatIsIncluded={whatIsIncluded}\n                whatIsIncludedDelta={whatIsIncludedDelta}\n            />\n            <DetailBookingConfigurator\n                tourId={tourId}\n                isPremium={isPremium}\n                setIsPremium={setIsPremium}\n                slots={slots}\n                days={days}\n                typePackage={typePackage}\n                pricePremium={pricePremium}\n                priceQuality={priceQuality}\n                slotsPremium={slotsPremium}\n                slotsQuality={slotsQuality}\n                languages={languages}\n            />\n        </div>\n    );\n};\n\nexport default Sidebar;\n","import Image from \"next/image\";\nimport { FC, useState } from \"react\";\nimport { ItalianExpertReadableTO } from \"../../models/detail\";\nimport styles from \"../../styles/detail/DetailDescription.module.scss\";\n\nconst PackageDetailDescriptionCard: FC<{\n    cardData: ItalianExpertReadableTO;\n}> = ({ cardData }) => {\n    const [coverError, setCoverError] = useState(false);\n    const [avatarError, setAvatarError] = useState(false);\n    return (\n        <div className=\"w-100\">\n            <div className={styles.cardImageContainer}>\n                <Image\n                    src={\n                        coverError\n                            ? \"/images/tours/across-italy-reduced.jpg\"\n                            : cardData.image\n                    }\n                    className={styles.imageDescription}\n                    alt=\"card-image\"\n                    fill\n                    onError={() => {\n                        setCoverError(true);\n                    }}\n                />\n            </div>\n            <div className={`${styles.cardDataContainer} mb-5`}>\n                <div className={styles.cardImageProfileContainer}>\n                    <Image\n                        src={\n                            !cardData.avatar || avatarError\n                                ? \"/images/tours/across-italy-reduced.jpg\"\n                                : cardData.avatar!\n                        }\n                        className={styles.imageProfile}\n                        style={{\n                            borderColor:\n                                cardData && cardData.color\n                                    ? cardData.color\n                                    : \"#00ff2a\",\n                        }}\n                        alt=\"user-image\"\n                        width={40}\n                        height={40}\n                        onError={() => {\n                            setAvatarError(true);\n                        }}\n                    />\n                </div>\n                <div className=\"ms-3\">\n                    <span className={styles.cardNameItalianExpert}>\n                        {cardData.name}\n                    </span>\n                    <div>\n                        <span className={styles.cardItalianExpert}>\n                            Italian Expert\n                        </span>\n                    </div>\n                </div>\n            </div>\n        </div>\n    );\n};\n\nexport default PackageDetailDescriptionCard;\n","import { MDBCol, MDBContainer, MDBRow } from \"mdb-react-ui-kit\";\nimport React, { FC, ReactNode, useMemo, useState } from \"react\";\nimport SwiperClass from \"swiper\";\nimport { useIsSM } from \"@/utils/hooks/useWindowSizes\";\nimport styles from \"../../styles/detail/DetailDescription.module.scss\";\nimport ButtonBack from \"../common/carousel/ButtonBack\";\nimport ButtonNext from \"../common/carousel/ButtonNext\";\nimport PackageDetailDescriptionCard from \"./PackageDetailDescriptionCard\";\nimport { ItalianExpertReadableTO } from \"../../models/detail\";\nimport Carousel from \"../common/carousel/Carousel\";\nimport { TBreackpointsCarousel } from \"../../models/common/common\";\n\nconst PackageDetailDescriptionCarousel: FC<{\n    italiansExpert: ItalianExpertReadableTO[];\n}> = ({ italiansExpert }) => {\n    const [swiperClass, setSwiperClass] = useState<SwiperClass | null>(null);\n\n    const cards: ReactNode[] = useMemo(\n        () =>\n            italiansExpert?.map(el => (\n                // eslint-disable-next-line no-underscore-dangle\n                <PackageDetailDescriptionCard key={el._id} cardData={el} />\n            )) ?? [],\n        [italiansExpert]\n    );\n\n    const breackPointCarousel: TBreackpointsCarousel = {\n        0: {\n            slidesPerView: italiansExpert.length > 1 ? 1.1 : 1,\n            spaceBetween: 12,\n        },\n    };\n\n    const isSM = useIsSM();\n\n    return (\n        <div className={styles.titleAndCarouselContainer}>\n            <MDBContainer fluid className=\"px-0 pr-lg-4\">\n                {!isSM && italiansExpert.length > 1 && (\n                    <MDBRow>\n                        <MDBCol className=\"p-0 mb-3 d-flex justify-content-end\">\n                            <div className=\"d-flex\">\n                                <ButtonBack swiperClass={swiperClass} />\n                                <ButtonNext\n                                    className=\"ms-2\"\n                                    swiperClass={swiperClass}\n                                />\n                            </div>\n                        </MDBCol>\n                    </MDBRow>\n                )}\n                <MDBRow className=\"gx-0 pe-md-2 pe-lg-0\">\n                    <MDBCol\n                        size={12}\n                        md={7}\n                        className={`${styles.carouselTitle} pe-lg-3`}\n                    >\n                        <h3>\n                            Travel with our\n                            <span className=\"d-block\">Italian Experts!</span>\n                        </h3>\n                        <p className={styles.carouselSubtitle}>\n                            <b>\n                                Italian experts are Italians that truly love and\n                                know everything about their Country.\n                            </b>{\" \"}\n                            They can’t wait to share their passion and knowledge\n                            with you so ... get ready and join them for the best\n                            Italian trip ever!\n                        </p>\n                    </MDBCol>\n                    {isSM && italiansExpert.length > 1 && (\n                        <MDBRow>\n                            <MDBCol className=\"p-0 mb-3 d-flex justify-content-end\">\n                                <div className=\"d-flex\">\n                                    <ButtonBack swiperClass={swiperClass} />\n                                    <ButtonNext\n                                        className=\"ms-2\"\n                                        swiperClass={swiperClass}\n                                    />\n                                </div>\n                            </MDBCol>\n                        </MDBRow>\n                    )}\n                    <MDBCol size={12} md={5}>\n                        <Carousel\n                            visibleSlides={1}\n                            breakpoints={breackPointCarousel}\n                            setSwiperClass={setSwiperClass}\n                        >\n                            {cards}\n                        </Carousel>\n                    </MDBCol>\n                </MDBRow>\n            </MDBContainer>\n        </div>\n    );\n};\n\nexport default PackageDetailDescriptionCarousel;\n","import Image from \"next/image\";\nimport { FC, useMemo, useState } from \"react\";\nimport { MDBCol, MDBContainer, MDBRow } from \"mdb-react-ui-kit\";\nimport { QuillDeltaToHtmlConverter } from \"quill-delta-to-html\";\nimport { TourReadableTO } from \"../../models/detail\";\nimport styles from \"../../styles/detail/DetailDescription.module.scss\";\nimport PackageDetailDescriptionCarousel from \"./PackageDetailDescriptionCarousel\";\nimport { ActivityReableTO } from \"../../models/common/common\";\nimport ActivityIcon from \"../common/ActivityIcon\";\nimport { useShouldRenderArrayFC } from \"../../utils/hooks/useShouldRenderArrayFC\";\n\n/* eslint-disable no-underscore-dangle */\nconst PackageDetailDescription: FC<{\n    packageDetail: TourReadableTO;\n}> = ({ packageDetail }) => {\n    const uniq = (arr: ActivityReableTO[], track = new Set()) =>\n        arr.filter(({ name }) => (track.has(name) ? false : track.add(name)));\n    const [error, setError] = useState(false);\n\n    const activities = useMemo(() => {\n        const results = packageDetail.itineraries.map(\n            el => el.itinerary.activities\n        );\n        return uniq(results.flat());\n    }, [packageDetail]);\n\n    const converter = new QuillDeltaToHtmlConverter(\n        packageDetail.whatWillYouSeeDelta?.ops ?? []\n    );\n\n    const html = converter.convert();\n\n    return (\n        <div>\n            <div className={styles.container}>\n                <div className={styles.textContainer}>\n                    <h2>\n                        What will <span>you see?</span>\n                    </h2>\n                    {packageDetail.whatWillYouSeeDelta?.ops ? (\n                        <div dangerouslySetInnerHTML={{ __html: html }} />\n                    ) : (\n                        <p>{packageDetail.whatWillYouSee}</p>\n                    )}\n                </div>\n                <div className={styles.imageContainer}>\n                    <Image\n                        className={styles.imageDescription}\n                        src={\n                            error\n                                ? \"/images/tours/across-italy-reduced.jpg\"\n                                : packageDetail.whatWillYouSeeImage\n                        }\n                        alt=\"detail-image\"\n                        fill\n                        onError={() => {\n                            setError(true);\n                        }}\n                    />\n                </div>\n                <div className={styles.descriptionDivider} />\n                <div className={styles.activitiesContainer}>\n                    <h3 className={styles.includedActivitiesTitle}>\n                        Included activities\n                    </h3>\n                    <MDBContainer fluid className=\"p-0\">\n                        <MDBRow className=\"p-0\">\n                            {activities.map(el => (\n                                <MDBCol\n                                    key={el._id}\n                                    size={6}\n                                    className=\"py-2\"\n                                    center\n                                >\n                                    <MDBRow className={styles.containerColSize}>\n                                        <MDBCol\n                                            className={`${styles.colSize} px-0`}\n                                            size={3}\n                                            md={3}\n                                            xxl={2}\n                                        >\n                                            <ActivityIcon\n                                                alt={el.name}\n                                                borderColor={el.color}\n                                                src={el.icon}\n                                                className=\"p-2 p-md-3\"\n                                            />\n                                        </MDBCol>\n                                        <MDBCol className=\"px-md-2\">\n                                            {el.name}\n                                        </MDBCol>\n                                    </MDBRow>\n                                </MDBCol>\n                            ))}\n                        </MDBRow>\n                    </MDBContainer>\n                </div>\n            </div>\n\n            {useShouldRenderArrayFC(packageDetail.italiansExpert) && (\n                <PackageDetailDescriptionCarousel\n                    italiansExpert={packageDetail.italiansExpert!}\n                />\n            )}\n        </div>\n    );\n};\n\nexport default PackageDetailDescription;\n","import SectionTitle from \"@/components/common/SectionTitle\";\nimport { ISectionTitle } from \"@/models/common/common\";\nimport {\n    travelExperiencesSubTitle,\n    travelExperiencesTitle,\n} from \"@/utils/mockData/homeMocks\";\nimport React from \"react\";\nimport styles from \"@/styles/detail/DetailBookingSidebar/TravelExperienceSectionDetail.module.scss\";\nimport generalSvg from \"@/utils/svg-icon/general\";\nimport socialAndBrandSvg from \"@/utils/svg-icon/socialAndBrand\";\n\nconst TravelExperienceSectionDetail = () => {\n    const title: ISectionTitle = {\n        title: travelExperiencesTitle,\n        subTitle: travelExperiencesSubTitle,\n        classNameContainer: \"p-0\",\n        alignment: \"\",\n    };\n\n    const { Star } = generalSvg;\n    const { SketchLine } = socialAndBrandSvg;\n\n    return (\n        <div className={styles.container}>\n            <SectionTitle sectionTitle={title} />\n            <div className={styles.containerPackageSection}>\n                <div className={`${styles.package} ${styles.packageQuality}`}>\n                    <h1 className={styles.packageTitle}>Quality</h1>\n                    <p className={styles.packageDescription}>\n                        Our quality package formula offers the best travel\n                        experience, combining comfortable hotels with fun group\n                        outings. Our tours are guided by Italian experts—locals\n                        with a true passion for tourism. Their goal is to make\n                        your journey fun, insightful, relaxing, and truly\n                        unforgettable.\n                    </p>\n                    {/* <div className=\"text-center py-2\">\n                        <CatQuality />\n                    </div> */}\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconQuality}>\n                            <Star />\n                        </div>\n                        <p className={styles.packageListText}>4-stars hotel</p>\n                    </div>\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconQuality}>\n                            <Star />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Round-trip private transfers from your arrival point\n                            to accommodation, tailored to your itinerary\n                        </p>\n                    </div>\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconQuality}>\n                            <Star />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Group experiences\n                        </p>\n                    </div>\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconQuality}>\n                            <Star />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Assistance before, during, and after your stay\n                        </p>\n                    </div>\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconQuality}>\n                            <Star />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Italian Experts\n                        </p>\n                    </div>\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconQuality}>\n                            <Star />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Optional: Flights and Travel Insurance\n                        </p>\n                    </div>\n                </div>\n                <div className={`${styles.package} ${styles.packagePremium}`}>\n                    <h1 className={styles.packageTitle}>Premium</h1>\n                    <p className={styles.packageDescription}>\n                        If you&apos;re looking to enjoy an exclusive Italian\n                        experience, our premium package is perfect for you.\n                        You&apos;ll stay in exclusive and unique accommodations\n                        and enjoy the comfort of private transfers. Your private\n                        party will be guided by our Italian experts, ensuring an\n                        unforgettable journey.\n                    </p>\n                    {/* <div className=\"text-center py-2\">\n                        <CatPremium />\n                    </div> */}\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconPremium}>\n                            <SketchLine />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Exclusive and unique accommodations\n                        </p>\n                    </div>\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconPremium}>\n                            <SketchLine />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Round-trip private transfers from your arrival point\n                            to accommodation, tailored to your itinerary\n                        </p>\n                    </div>\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconPremium}>\n                            <SketchLine />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Private experiences\n                        </p>\n                    </div>\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconPremium}>\n                            <SketchLine />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Assistance before, during, and after your stay\n                        </p>\n                    </div>\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconPremium}>\n                            <SketchLine />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Italian Experts\n                        </p>\n                    </div>\n                    <div className={styles.packageList}>\n                        <div className={styles.packageListIconPremium}>\n                            <SketchLine />\n                        </div>\n                        <p className={styles.packageListText}>\n                            Optional: Flights and Travel Insurance\n                        </p>\n                    </div>\n                </div>\n            </div>\n        </div>\n    );\n};\n\nexport default TravelExperienceSectionDetail;\n","import { MDBCol, MDBContainer, MDBRow } from \"mdb-react-ui-kit\";\nimport {\n    forwardRef,\n    ReactElement,\n    RefObject,\n    useEffect,\n    useState,\n} from \"react\";\nimport { useIsSM } from \"@/hooks/useWindowSizes\";\nimport { TourReadableTO } from \"@/models/detail\";\nimport styles from \"@/styles/detail/DetailBooking.module.scss\";\nimport useOnScreen from \"@/hooks/useOnScreen\";\nimport { useStore } from \"@/store/index\";\nimport { EDetailSection, ETypePackage } from \"@/models/common/enums\";\nimport PackageDetailBookingMobile from \"@/components/detail/DetailBooking/PackageDetailBookingMobile\";\nimport Sidebar from \"./DetailBookingSidebar/Sidebar\";\nimport PackageDetailDescription from \"../PackageDetailDescription\";\nimport TravelExperienceSectionDetail from \"./DetailBookingSidebar/TravelExperienceSectionDetail\";\nimport { RequestAQuoteForm } from \"./RequestAQuoteForm\";\n\nconst PackageDetailBooking = forwardRef<\n    HTMLDivElement,\n    {\n        packageDetail: TourReadableTO;\n        isRequestAQuote: boolean;\n        isPremium: boolean;\n        setIsPremium: (el: boolean) => void;\n        // setIsPromo: (el: boolean) => void;\n        days: string;\n        typePackage: ETypePackage;\n        pricePremium: number;\n        priceQuality: number;\n        packagePremium: TourReadableTO;\n        packageQuality: TourReadableTO;\n    }\n>(\n    (\n        {\n            packageDetail,\n            isRequestAQuote,\n            isPremium,\n            setIsPremium,\n            // setIsPromo,\n            days,\n            typePackage,\n            pricePremium,\n            priceQuality,\n            packagePremium,\n            packageQuality,\n        },\n        ref\n    ): ReactElement => {\n        const isSM = useIsSM();\n\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n        const [price, setPrice] = useState<number>(+packageDetail.price);\n\n        const dispatch = useStore(state => state.dispatchPackage);\n\n        const isOnScreen = useOnScreen(ref as RefObject<HTMLElement>);\n\n        useEffect(() => {\n            if (isOnScreen) {\n                dispatch({\n                    type: \"SET_CURRENT_SECTION\",\n                    payload: EDetailSection.GENERAL,\n                });\n            }\n        }, [isOnScreen]);\n\n        return (\n            <div ref={!isSM ? ref : null} className={styles.customContainer}>\n                <MDBContainer fluid className={styles.containerSpacer}>\n                    <MDBRow>\n                        <MDBCol\n                            ref={isSM ? ref : null}\n                            size={12}\n                            lg={7}\n                            className=\"p-0 pe-lg-4 \"\n                        >\n                            <PackageDetailDescription\n                                packageDetail={packageDetail}\n                            />\n                            <TravelExperienceSectionDetail />\n                        </MDBCol>\n                        {isSM && (\n                            <PackageDetailBookingMobile\n                                days={days}\n                                isOnScreen={isOnScreen}\n                                isPremium={isPremium}\n                                offset={\n                                    (ref as RefObject<HTMLElement>).current\n                                        ?.offsetTop ?? 1155\n                                }\n                                packageDetail={packageDetail}\n                                setIsPremium={setIsPremium}\n                                // setIsPromo={setIsPromo}\n                                typePackage={typePackage}\n                                price={price}\n                                // setPrice={setPrice}\n                                pricePremium={pricePremium}\n                                priceQuality={priceQuality}\n                                packagePremium={packagePremium}\n                                packageQuality={packageQuality}\n                                languages={packageDetail.languages}\n                                isRequestAQuote={isRequestAQuote}\n                            />\n                        )}\n\n                        {!isSM && isRequestAQuote && (\n                            <MDBCol\n                                size={12}\n                                lg={5}\n                                className={`p-0 ps-lg-4 ${styles.addToCartContainer}`}\n                            >\n                                <RequestAQuoteForm\n                                    id={packageDetail.tourId}\n                                    activities={\n                                        packageDetail.requestAQuoteActivities ??\n                                        []\n                                    }\n                                />\n                            </MDBCol>\n                        )}\n\n                        {!isSM && !isRequestAQuote && (\n                            <MDBCol\n                                size={12}\n                                lg={5}\n                                className={`p-0 ps-lg-4 ${styles.addToCartContainer}`}\n                            >\n                                <Sidebar\n                                    whatIsIncludedDelta={\n                                        packageDetail.whatIsIncludedDelta ?? []\n                                    }\n                                    tourId={packageDetail.tourId}\n                                    whatIsIncluded={\n                                        packageDetail.whatIsIncluded\n                                    }\n                                    isPremium={isPremium}\n                                    setIsPremium={setIsPremium}\n                                    slots={packageDetail.slots}\n                                    slotsPremium={packagePremium.slots}\n                                    slotsQuality={packageQuality.slots}\n                                    days={days}\n                                    typePackage={typePackage}\n                                    pricePremium={pricePremium}\n                                    priceQuality={priceQuality}\n                                    languages={packageDetail.languages}\n                                />\n                            </MDBCol>\n                        )}\n                    </MDBRow>\n                </MDBContainer>\n            </div>\n        );\n    }\n);\n\nexport default PackageDetailBooking;\n","import {\n    MDBBtn,\n    MDBCol,\n    MDBContainer,\n    MDBModal,\n    MDBRow,\n} from \"mdb-react-ui-kit\";\nimport { FC, useEffect, useState } from \"react\";\nimport userInterfaceSvg from \"../../utils/svg-icon/userInterface\";\nimport styles from \"../../styles/detail/Detail.ModalMap.module.scss\";\n\nconst ModalMap: FC<{\n    url: string | undefined;\n    show: boolean;\n    setShow: (el: boolean) => void;\n}> = ({ url, show, setShow }) => {\n    const { CloseLine } = userInterfaceSvg;\n\n    const toggleShow = () => setShow(!show);\n    const [render, setRender] = useState(false);\n\n    useEffect(() => setRender(true), []);\n\n    return (\n        <div>\n            {render && (\n                <MDBModal show={show} setShow={setShow} tabIndex=\"-1\">\n                    <MDBContainer\n                        fluid\n                        className=\"d-flex justify-content-center align-items-center p-0 vh-100 vw-100\"\n                        style={{ backgroundColor: \"#282838\" }}\n                    >\n                        <MDBCol className=\"d-flex flex-column h-100 w-100\">\n                            <MDBRow className=\"mt-3 justify-content-end\">\n                                <MDBCol center size={2} lg={1}>\n                                    <MDBBtn\n                                        className={` ${styles.button} d-flex justify-content-center shadow-0`}\n                                        tag=\"a\"\n                                        floating\n                                        onClick={toggleShow}\n                                    >\n                                        <CloseLine className=\"align-self-center\" />\n                                    </MDBBtn>\n                                </MDBCol>\n                            </MDBRow>\n                            <MDBRow className=\"flex-fill justify-content-center\">\n                                <MDBCol\n                                    center\n                                    size={12}\n                                    className=\"px-5 px-lg-0 d-flex justify-content-center align-items-center h-100\"\n                                >\n                                    <iframe\n                                        id=\"map\"\n                                        src={url}\n                                        allow=\"geolocation\"\n                                        className={styles.mapContainer}\n                                        title=\"map\"\n                                        style={{\n                                            overflowY: \"hidden\",\n                                            width: \"100%\",\n                                        }}\n                                    />\n                                </MDBCol>\n                            </MDBRow>\n                        </MDBCol>\n                    </MDBContainer>\n                </MDBModal>\n            )}\n        </div>\n    );\n};\n\nexport default ModalMap;\n","import { ForwardedRef, useEffect, useRef } from \"react\";\n\n/* eslint-disable */\nconst useForwardRef = <T>(\n    ref: ForwardedRef<HTMLDivElement>,\n    initialValue: any = null\n) => {\n    const targetRef = useRef<T>(initialValue);\n\n    useEffect(() => {\n        if (!ref) return;\n\n        if (typeof ref === \"function\") {\n            // @ts-ignore\n            ref(targetRef.current);\n        } else {\n            // @ts-ignore\n            ref.current = targetRef.current;\n        }\n    }, [ref]);\n\n    return targetRef;\n};\n\nexport default useForwardRef;\n","import { MDBCard, MDBCol, MDBRow } from \"mdb-react-ui-kit\";\nimport { FC, useState } from \"react\";\nimport { QuillDeltaToHtmlConverter } from \"quill-delta-to-html\";\nimport styles from \"../../styles/detail/Detail.TravelExperiencesStepCard.module.scss\";\nimport contactsSvg from \"../../utils/svg-icon/contacts\";\nimport socialAndBrandSvg from \"../../utils/svg-icon/socialAndBrand\";\nimport userInterfaceSvg from \"../../utils/svg-icon/userInterface\";\nimport { ItinerariesReadableTO } from \"../../models/detail\";\nimport ActivityIcon from \"../common/ActivityIcon\";\nimport { useIsMD } from \"../../utils/hooks/useWindowSizes\";\n\n/* eslint-disable no-underscore-dangle */\nconst TravelExperiencesStepCard: FC<{\n    cardData: ItinerariesReadableTO;\n    isPremium: boolean;\n    setShow: (el: boolean) => void;\n}> = ({ cardData, isPremium, setShow }) => {\n    const { CalendarLine, LocationLine, ClockLine } = contactsSvg;\n\n    const [moreInfo, setMoreInfo] = useState<boolean>(false);\n\n    const isMD = useIsMD();\n\n    const converter = new QuillDeltaToHtmlConverter(\n        cardData.itinerary.descriptionDelta?.ops ?? []\n    );\n\n    const html = converter.convert();\n\n    return (\n        <MDBCard\n            className={\n                isPremium\n                    ? `${styles.cardBorderPremium}`\n                    : `${styles.cardBorderQuality}`\n            }\n        >\n            <MDBRow className=\"g-0\">\n                <MDBCol lg={9} xl={8} xxl={9}>\n                    <div className=\"px-3 pt-3 d-flex flex-column\">\n                        <div className=\"d-flex align-items-center mb-3 text-uppercase\">\n                            <span className={`ps-2 ${styles.cardClockIcon}`}>\n                                <CalendarLine />\n                            </span>\n                            <span className={styles.starText}>\n                                {cardData.day}&#186; day\n                            </span>\n                            {cardData.itinerary.distance !== \"0km\" && (\n                                <>\n                                    {\" \"}\n                                    <span\n                                        className={`ps-2 ${styles.cardClockIcon}`}\n                                    >\n                                        <LocationLine />\n                                    </span>\n                                    <span className={styles.starText}>\n                                        {cardData.itinerary.distance}\n                                    </span>\n                                </>\n                            )}\n                            {cardData.itinerary.time !==\n                                \"00 hours 00 minutes\" && (\n                                <>\n                                    <span\n                                        className={`ps-2 d-none d-md-block ${styles.cardClockIcon}`}\n                                    >\n                                        <ClockLine />\n                                    </span>\n                                    <span\n                                        className={`d-none d-md-block ${styles.starText}`}\n                                    >\n                                        {cardData.itinerary.time}\n                                    </span>\n                                </>\n                            )}\n                            <span\n                                className={`ps-2 ${\n                                    isPremium\n                                        ? styles.cardDiamondIcon\n                                        : styles.cardStarQIcon\n                                }`}\n                            >\n                                {isPremium ? (\n                                    <socialAndBrandSvg.SketchLine />\n                                ) : (\n                                    <userInterfaceSvg.StarLine />\n                                )}\n                            </span>\n                            <span className={styles.starText}>\n                                {isPremium ? \"Premium\" : \"Quality\"}\n                            </span>\n                        </div>\n                        <h3 className={styles.cardTitle}>\n                            {cardData.itinerary.title}\n                        </h3>\n                    </div>\n                </MDBCol>\n                {!isMD && (\n                    <MDBCol size={8} md={4} xl={4} xxl={3} className=\"ps-3\">\n                        <MDBRow className=\"px-3\">\n                            {cardData.itinerary.activities.map(el => (\n                                <MDBCol\n                                    key={el._id}\n                                    className=\"d-inline-flex justify-content-xl-end p-0 mt-3\"\n                                >\n                                    <ActivityIcon\n                                        alt={el.name}\n                                        borderColor={el.color}\n                                        src={el.icon}\n                                        className=\"p-2\"\n                                        isSmall\n                                    />\n                                </MDBCol>\n                            ))}\n                        </MDBRow>\n                    </MDBCol>\n                )}\n            </MDBRow>\n            <MDBRow className=\"g-0\">\n                <div className=\"px-3 d-flex flex-column\">\n                    <hr className=\"m-2\" />\n                    <div className=\"d-flex flex-row justify-content-between align-content-center\">\n                        <div>\n                            <span\n                                className={`${styles.cardSecondaryText} me-2`}\n                            >\n                                {moreInfo ? \"Less info \" : \"More info\"}\n                            </span>\n\n                            {moreInfo ? (\n                                <span\n                                    onClick={() => setMoreInfo(!moreInfo)}\n                                    className={styles.spanMoreInfo}\n                                >\n                                    <userInterfaceSvg.ArrowUpSimpleLine />\n                                </span>\n                            ) : (\n                                <span\n                                    onClick={() => setMoreInfo(!moreInfo)}\n                                    className={styles.spanMoreInfo}\n                                >\n                                    <userInterfaceSvg.ArrowDownSimpleLine />\n                                </span>\n                            )}\n                        </div>\n                        {isMD && (\n                            <span\n                                className={`${styles.cardSecondaryText} my-auto me-2`}\n                                onClick={() => setShow(true)}\n                            >\n                                View map\n                            </span>\n                        )}\n                    </div>\n\n                    <div className=\"mt-3\">\n                        {moreInfo && (\n                            <>\n                                {cardData.itinerary.descriptionDelta?.ops ? (\n                                    <div\n                                        dangerouslySetInnerHTML={{\n                                            __html: html,\n                                        }}\n                                    />\n                                ) : (\n                                    <p className={styles.cardSecondaryText}>\n                                        {cardData.itinerary.description}\n                                    </p>\n                                )}\n                                {isMD && (\n                                    <>\n                                        <MDBRow\n                                            className={`px-3 ${styles.activityText}`}\n                                        >\n                                            ACTIVITIES\n                                        </MDBRow>\n                                        <MDBRow className=\"px-3 pb-3 d-inline-flex\">\n                                            {cardData.itinerary.activities.map(\n                                                el => (\n                                                    <MDBCol\n                                                        key={el._id}\n                                                        className=\"d-inline-flex justify-content-xl-center p-0 mt-3\"\n                                                    >\n                                                        <ActivityIcon\n                                                            alt={el.name}\n                                                            borderColor={\n                                                                el.color\n                                                            }\n                                                            src={el.icon}\n                                                            className=\"p-2\"\n                                                            isSmall\n                                                        />\n                                                    </MDBCol>\n                                                )\n                                            )}\n                                        </MDBRow>\n                                    </>\n                                )}\n                            </>\n                        )}\n                    </div>\n                </div>\n            </MDBRow>\n        </MDBCard>\n    );\n};\n\nexport default TravelExperiencesStepCard;\n","import {\n    MDBBtn,\n    MDBCol,\n    MDBContainer,\n    MDBRow,\n    MDBSwitch,\n} from \"mdb-react-ui-kit\";\nimport {\n    forwardRef,\n    MutableRefObject,\n    ReactElement,\n    useEffect,\n    useRef,\n    useState,\n} from \"react\";\nimport ModalMap from \"@/components/detail/ModalMap\";\nimport TagsPackageType from \"@/components/detail/tags/TagsPackageType\";\nimport { laodMore } from \"@/utils/analytics/tagmanager\";\nimport TagManager from \"react-gtm-module\";\nimport { ISectionTitle } from \"../../models/common/common\";\nimport { ItinerariesReadableTO, TourReadableTO } from \"../../models/detail\";\nimport styles from \"../../styles/detail/Detail.TravelExperiencesStep.module.scss\";\nimport useForwardRef from \"../../utils/hooks/useForwardRef\";\nimport {\n    travelExperiencesSubTitle,\n    travelExperiencesTitleGreen,\n} from \"../../utils/mockData/homeMocks\";\nimport { qualityPremiumContent } from \"../../utils/mockData/infoMock\";\nimport contactsSvg from \"../../utils/svg-icon/contacts\";\nimport userInterfaceSvg from \"../../utils/svg-icon/userInterface\";\nimport InfoModalDouble from \"../common/info/InfoModalDouble\";\nimport SectionTitle from \"../common/SectionTitle\";\nimport TravelExperiencesStepCard from \"./TravelExperiencesStepCard\";\nimport { useIsMD } from \"../../utils/hooks/useWindowSizes\";\nimport { useStore } from \"../../store\";\nimport useOnScreen from \"../../utils/hooks/useOnScreen\";\nimport { EDetailSection, ETypePackage } from \"../../models/common/enums\";\n\nconst TravelExperiencesStep = forwardRef<\n    HTMLDivElement,\n    {\n        itineraries: ItinerariesReadableTO[];\n        isPremium: boolean;\n        setIsPremium: (el: boolean) => void;\n        typePackage: ETypePackage;\n        packageDetail: TourReadableTO;\n    }\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n>(\n    (\n        { itineraries, isPremium, setIsPremium, typePackage, packageDetail },\n        ref\n        // eslint-disable-next-line sonarjs/cognitive-complexity\n    ): ReactElement => {\n        const travelExperiencesStepSection =\n            useForwardRef<HTMLInputElement>(ref);\n        const dispatch = useStore(state => state.dispatchPackage);\n\n        const isOnScreen = useOnScreen(travelExperiencesStepSection);\n        const { InfoCircleLine } = contactsSvg;\n        const { ArrowDownSimpleLine } = userInterfaceSvg;\n        const minimumVisibleCards = 4;\n        const [visibleCards, setVisibleCards] = useState<number>(4);\n        const [showModalMap, setShowModalMap] = useState<boolean>(false);\n\n        const shouldBeExpandable = () => {\n            return itineraries.length > minimumVisibleCards;\n        };\n\n        const shouldAddTransparency = (currentIndex: number) => {\n            return (\n                visibleCards < itineraries.length &&\n                currentIndex >= visibleCards &&\n                shouldBeExpandable()\n            );\n        };\n\n        const isAllCardsVisible = () => {\n            return visibleCards === itineraries.length;\n        };\n\n        const title: ISectionTitle = {\n            title: travelExperiencesTitleGreen,\n            subTitle: travelExperiencesSubTitle,\n            classNameContainer: \"p-0\",\n            alignment: \"justify-content-center text-center\",\n        };\n\n        const [showInfoModal, setShowInfoModal] = useState<boolean>(false);\n\n        const isMD = useIsMD();\n\n        const divColCards = useRef() as MutableRefObject<HTMLDivElement>;\n        const [clientHeight, setClientHeight] = useState(0);\n\n        const checkAtlasMap = (): string | undefined => {\n            const map = packageDetail.atlasMap;\n            const baseUrlAtlasMap =\n                process.env.NEXT_PUBLIC_ATLASMAP_BASE_URL ??\n                \"https://my.atlist.com/map\";\n\n            const flag = map?.includes(baseUrlAtlasMap);\n            if (flag) return map;\n            return \"https://my.atlistmaps.com/map/6bff2890-48de-4852-9a3e-7c2e6d5d048f?share=true\";\n        };\n\n        useEffect(() => {\n            if (!divColCards.current) return;\n            const resizeObserver = new ResizeObserver(() => {\n                setClientHeight(divColCards.current.clientHeight);\n            });\n            resizeObserver.observe(divColCards.current);\n            // eslint-disable-next-line consistent-return\n            return () => resizeObserver.disconnect();\n        }, []);\n\n        useEffect(() => {\n            if (isOnScreen) {\n                dispatch({\n                    type: \"SET_CURRENT_SECTION\",\n                    payload: EDetailSection.ITINERARY,\n                });\n            }\n        }, [isOnScreen]);\n\n        /* eslint-disable react/no-array-index-key */\n        return (\n            <MDBContainer\n                fluid\n                className={styles.travelSectionBgColor}\n                ref={travelExperiencesStepSection}\n            >\n                <MDBRow className=\"px-3 justify-content-center p-lg-0\">\n                    <SectionTitle sectionTitle={title} />\n                </MDBRow>\n                {typePackage === ETypePackage.QUALITY_AND_PREMIUM && (\n                    <>\n                        <MDBRow\n                            className=\"justify-content-center\"\n                            role=\"button\"\n                            tabIndex={0}\n                            onClick={() => setShowInfoModal(true)}\n                        >\n                            <MDBCol className={styles.info}>\n                                <p>Choose your esperienza</p>\n                                <InfoCircleLine />\n                            </MDBCol>\n                        </MDBRow>\n                        <MDBRow className=\"justify-content-center mt-3\">\n                            <div className=\"d-flex justify-content-center mt-1 mb-2\">\n                                <span\n                                    className={\n                                        !isPremium\n                                            ? `pe-3 ${styles.cardSecondaryTextBold}`\n                                            : `pe-3 ${styles.cardSecondaryText}`\n                                    }\n                                >\n                                    Quality\n                                </span>\n                                <MDBSwitch\n                                    checked={isPremium}\n                                    onChange={() => {\n                                        setIsPremium(!isPremium);\n                                        const url = new URL(\n                                            window.location.href\n                                        );\n                                        url.searchParams.set(\n                                            \"isPremium\",\n                                            !isPremium as unknown as string\n                                        );\n                                        window.history.replaceState(\n                                            null,\n                                            \"\",\n                                            url\n                                        );\n                                    }}\n                                    className={styles.customSwitch}\n                                />\n                                <span\n                                    className={\n                                        isPremium\n                                            ? `ps-3 ${styles.cardSecondaryTextBold}`\n                                            : `ps-3 ${styles.cardSecondaryText}`\n                                    }\n                                >\n                                    Premium\n                                </span>\n                            </div>\n                        </MDBRow>\n                    </>\n                )}\n\n                {typePackage !== ETypePackage.QUALITY_AND_PREMIUM && (\n                    <TagsPackageType\n                        isPremium={typePackage === ETypePackage.ONLY_PREMIUM}\n                    />\n                )}\n                <MDBRow className=\"align-items-start mt-5\">\n                    <div className={styles.divComtainer}>\n                        <MDBCol\n                            size={12}\n                            lg={7}\n                            ref={divColCards}\n                            className={styles.divColCards}\n                        >\n                            {itineraries.map((el, id) => (\n                                <MDBRow\n                                    key={`${el.day}_${id}`}\n                                    className={`${\n                                        id < visibleCards\n                                            ? \"d-flex m-2\"\n                                            : \"d-none m-2\"\n                                    }`}\n                                >\n                                    <MDBCol size={1}>\n                                        {/* eslint-disable-next-line no-underscore-dangle */}\n                                        <span key={el.itinerary._id}>\n                                            <div\n                                                className={styles.numberStep}\n                                            >{`${\n                                                id >= 9 ? id + 1 : `0${id + 1}`\n                                            }`}</div>\n                                        </span>\n                                    </MDBCol>\n                                    <MDBCol\n                                        className=\"ps-4\"\n                                        style={{ position: \"relative\" }}\n                                    >\n                                        <TravelExperiencesStepCard\n                                            isPremium={isPremium}\n                                            cardData={el}\n                                            setShow={setShowModalMap}\n                                        />\n                                        {shouldAddTransparency(id + 1) && (\n                                            <div className={styles.gradient} />\n                                        )}\n                                    </MDBCol>\n                                </MDBRow>\n                            ))}\n                            {shouldBeExpandable() && (\n                                <MDBRow className=\"justify-content-center p-5\">\n                                    <MDBCol className=\"d-inline-flex justify-content-center\">\n                                        <MDBBtn\n                                            className={`${\n                                                isAllCardsVisible()\n                                                    ? styles.buttonMainActionRotate\n                                                    : styles.buttonMainAction\n                                            } mx-2 shadow-0`}\n                                            color=\"danger\"\n                                            onClick={() => {\n                                                // eslint-disable-next-line no-unused-expressions\n                                                !isAllCardsVisible() &&\n                                                    TagManager.dataLayer(\n                                                        laodMore()\n                                                    );\n                                                setVisibleCards(\n                                                    isAllCardsVisible()\n                                                        ? minimumVisibleCards\n                                                        : itineraries.length\n                                                );\n                                                window.scrollTo({\n                                                    top: travelExperiencesStepSection\n                                                        .current?.offsetTop,\n                                                    behavior: \"smooth\",\n                                                });\n                                            }}\n                                        >\n                                            {isAllCardsVisible()\n                                                ? \"View Less\"\n                                                : \"Load More\"}\n                                            <ArrowDownSimpleLine />\n                                        </MDBBtn>\n                                    </MDBCol>\n                                </MDBRow>\n                            )}\n                        </MDBCol>\n                    </div>\n                    {!isMD && (\n                        <MDBCol\n                            size={5}\n                            xl={4}\n                            className={styles.divColMap}\n                            style={{ height: clientHeight }}\n                        >\n                            <div className={styles.divCollst}>\n                                <iframe\n                                    id=\"map\"\n                                    src={checkAtlasMap()}\n                                    allow=\"geolocation\"\n                                    className={styles.mapContainer}\n                                    title=\"map\"\n                                    style={{\n                                        overflowY: \"hidden\",\n                                        width: \"100%\",\n                                    }}\n                                />\n                            </div>\n                        </MDBCol>\n                    )}\n                </MDBRow>\n                <ModalMap\n                    url={checkAtlasMap()}\n                    show={showModalMap}\n                    setShow={setShowModalMap}\n                />\n                <InfoModalDouble\n                    content={qualityPremiumContent}\n                    show={showInfoModal}\n                    setShow={setShowInfoModal}\n                />\n            </MDBContainer>\n        );\n    }\n);\n\nexport default TravelExperiencesStep;\n","import { FC, useCallback, useState } from \"react\";\nimport Image from \"next/image\";\nimport { MDBBtn, MDBCol, MDBRow } from \"mdb-react-ui-kit\";\nimport styles from \"../../styles/detail/DetailHotelCard.module.scss\";\nimport userInterfaceSvg from \"../../utils/svg-icon/userInterface\";\nimport socialAndBrandSvg from \"../../utils/svg-icon/socialAndBrand\";\nimport { HotelReadableTO } from \"../../models/detail\";\n\nconst PackageDetailHotelCard: FC<{\n    packageAccommodation: HotelReadableTO;\n    currentIndex: number;\n    hotelGalleryHandler: (currentIndex: number) => void;\n    isPremium: boolean;\n}> = ({\n    packageAccommodation,\n    currentIndex,\n    hotelGalleryHandler,\n    isPremium,\n}) => {\n    const { StarFilled, StarLine } = userInterfaceSvg;\n    const { SketchLine } = socialAndBrandSvg;\n\n    const [coverError, setCoverError] = useState(false);\n\n    const getStars = useCallback(() => {\n        return Array.from(\n            { length: +(packageAccommodation?.stars ?? \"0\") },\n            (value, key) => <StarFilled key={key} />\n        );\n    }, [packageAccommodation?.stars]);\n\n    return (\n        <div\n            className={`${styles.container}`}\n            onClick={() => hotelGalleryHandler(currentIndex)}\n        >\n            <div className={styles.cardImageContainer}>\n                <Image\n                    src={\n                        coverError\n                            ? \"/images/tours/across-italy-reduced.jpg\"\n                            : packageAccommodation.image\n                    }\n                    className={styles.imageDescription}\n                    alt=\"card-image\"\n                    fill\n                    onError={() => {\n                        setCoverError(true);\n                    }}\n                />\n                <div\n                    className={\n                        isPremium ? styles.tagPremium : styles.tagQuality\n                    }\n                >\n                    <MDBRow className=\"me-3 ms-2\">\n                        <MDBCol\n                            size={5}\n                            center\n                            className=\"d-inline-flex px-1 justify-content-center\"\n                        >\n                            {isPremium ? <SketchLine /> : <StarLine />}\n                        </MDBCol>\n                        <MDBCol size={5} center className=\"d-inline-flex px-1\">\n                            {isPremium ? \"Premium\" : \"Quality\"}\n                        </MDBCol>\n                    </MDBRow>\n                </div>\n                <div className={styles.overlay} />\n            </div>\n            <div className={styles.cardDataContainer}>\n                <div className={styles.cardDataContainer2}>\n                    <h3 className={styles.cardName}>\n                        {packageAccommodation.name}\n                    </h3>\n                    <div className={styles.starContainer}>{getStars()}</div>\n                </div>\n                <div className=\"w-100\">\n                    <div className={styles.descriptionDivider} />\n                    <MDBBtn\n                        className={styles.roomsButton}\n                        onClick={() => hotelGalleryHandler(currentIndex)}\n                    >\n                        <span>Check it out</span>\n                    </MDBBtn>\n                </div>\n            </div>\n        </div>\n    );\n};\n\nexport default PackageDetailHotelCard;\n","import Image from \"next/image\";\nimport { MDBCol, MDBContainer, MDBModal, MDBRow } from \"mdb-react-ui-kit\";\nimport SwiperClass from \"swiper\";\nimport { FC, useCallback, useEffect, useState } from \"react\";\nimport styles from \"../../styles/detail/DetailHotelGallery.module.scss\";\nimport packageDetailCustomSvg from \"../../utils/svg-icon/detailPackageCustom\";\nimport userInterfaceSvg from \"../../utils/svg-icon/userInterface\";\nimport { HotelReadableTO } from \"../../models/detail\";\nimport { useIsMD } from \"../../utils/hooks/useWindowSizes\";\nimport Carousel from \"../common/carousel/Carousel\";\nimport ButtonBack from \"../common/carousel/ButtonBack\";\nimport ButtonNext from \"../common/carousel/ButtonNext\";\nimport { TBreackpointsCarousel } from \"../../models/common/common\";\n\nconst PackageDetailHotelGallery: FC<{\n    show: boolean;\n    setShow: (el: boolean) => void;\n    currentHotel: HotelReadableTO;\n    // eslint-disable-next-line sonarjs/cognitive-complexity\n}> = ({ show, setShow, currentHotel }) => {\n    const [readMore, setReadMore] = useState<boolean>(false);\n    const [iconImageError, setIconImageError] = useState<number[]>([]);\n    const [swiperClass, setSwiperClass] = useState<SwiperClass | null>(null);\n\n    const { CloseLine, StarFilled } = userInterfaceSvg;\n    const { Pointer } = packageDetailCustomSvg;\n\n    const getStars = useCallback(() => {\n        return Array.from(\n            { length: +(currentHotel?.stars ?? \"0\") },\n            (value, key) => <StarFilled key={key} />\n        );\n    }, [currentHotel?.stars]);\n\n    const [render, setRender] = useState(false);\n\n    useEffect(() => setRender(true), []);\n\n    const isMD = useIsMD();\n\n    const breackPointCarousel: TBreackpointsCarousel = {\n        0: {\n            slidesPerView: 1.3,\n            height: 533,\n            spaceBetween: 12,\n        },\n        576: {\n            slidesPerView: 2,\n            height: 533,\n            spaceBetween: 12,\n        },\n        768: {\n            slidesPerView: 2.5,\n            height: 533,\n            spaceBetween: 12,\n        },\n        992: {\n            slidesPerView: 3,\n            height: 533,\n            spaceBetween: 12,\n        },\n        1200: {\n            slidesPerView: 3,\n            spaceBetween: 32,\n        },\n        1400: {\n            slidesPerView: 3,\n            spaceBetween: 32,\n        },\n        1600: {\n            slidesPerView: 3,\n            spaceBetween: 32,\n        },\n        1920: {\n            slidesPerView: 4,\n            spaceBetween: 32,\n        },\n    };\n\n    return render ? (\n        <MDBModal\n            className={`${styles.modal} p-5`}\n            show={show}\n            setShow={setShow}\n            staticBackdrop\n        >\n            <MDBContainer className={styles.galleryContainer}>\n                <MDBRow>\n                    <MDBCol className=\"d-flex justify-content-end\">\n                        <div onClick={() => setShow(false)}>\n                            <span className={styles.interactionSvgSpan}>\n                                <CloseLine />\n                            </span>\n                        </div>\n                    </MDBCol>\n                </MDBRow>\n                <MDBRow>\n                    <MDBCol className=\"d-flex justify-content-between mt-5 px-5\">\n                        <div>\n                            {isMD && (\n                                <div\n                                    className={` ${styles.starContainer} d-flex justify-content-start`}\n                                >\n                                    {getStars()}\n                                </div>\n                            )}\n                            <h3 className={styles.title}>\n                                {currentHotel?.name}\n                            </h3>\n                            <div className=\"d-flex align-items-center\">\n                                <span className={styles.pointerContainer}>\n                                    <Pointer />\n                                </span>\n                                <span className={styles.subtitle}>\n                                    {currentHotel?.address}\n                                </span>\n\n                                {!isMD && (\n                                    <>\n                                        <div className={styles.starContainer}>\n                                            {getStars()}\n                                        </div>\n                                        <span className={styles.subtitle}>\n                                            stars hotel\n                                        </span>\n                                    </>\n                                )}\n                            </div>\n                        </div>\n                        {!isMD && (\n                            <MDBRow className=\"mt-2\">\n                                <MDBCol center className=\"pe-0\">\n                                    <ButtonBack swiperClass={swiperClass} />\n                                </MDBCol>\n                                <MDBCol center className=\"ps-0\">\n                                    <ButtonNext swiperClass={swiperClass} />\n                                </MDBCol>\n                            </MDBRow>\n                        )}\n                    </MDBCol>\n                </MDBRow>\n                <MDBRow>\n                    <MDBCol className=\"px-5 mt-4\" style={{ height: \"375px\" }}>\n                        <Carousel\n                            setSwiperClass={setSwiperClass}\n                            visibleSlides={3}\n                            centerInsufficientSlides={false}\n                            breakpoints={breackPointCarousel}\n                            classNameCarousel=\"h-100\"\n                        >\n                            {currentHotel?.gallery.map((el, idx) => (\n                                <div\n                                    key={el}\n                                    className=\"position-relative h-100\"\n                                >\n                                    <Image\n                                        src={\n                                            iconImageError.includes(idx)\n                                                ? \"/images/tours/across-italy-reduced.jpg\"\n                                                : el\n                                        }\n                                        alt=\"hotel picture\"\n                                        fill\n                                        className={styles.galleryImage}\n                                        onError={() => {\n                                            setIconImageError(\n                                                prevImageErrors => [\n                                                    ...prevImageErrors,\n                                                    idx,\n                                                ]\n                                            );\n                                        }}\n                                    />\n                                </div>\n                            ))}\n                        </Carousel>\n                    </MDBCol>\n                </MDBRow>\n                <MDBRow>\n                    <MDBCol lg={9} className=\"px-5\">\n                        <div className=\"mt-4\">\n                            <p\n                                className={`${\n                                    !readMore && styles.multilineEllipsis\n                                }`}\n                            >\n                                {currentHotel?.description}\n                            </p>\n                            <span\n                                className={`${styles.cardSecondaryText} me-2`}\n                            >\n                                {readMore ? \"Read less \" : \"Read more\"}\n                            </span>\n\n                            {readMore ? (\n                                <span\n                                    onClick={() => setReadMore(!readMore)}\n                                    className={styles.spanMoreInfo}\n                                >\n                                    <userInterfaceSvg.ArrowUpSimpleLine />\n                                </span>\n                            ) : (\n                                <span\n                                    onClick={() => setReadMore(!readMore)}\n                                    className={styles.spanMoreInfo}\n                                >\n                                    <userInterfaceSvg.ArrowDownSimpleLine />\n                                </span>\n                            )}\n                        </div>\n                    </MDBCol>\n                </MDBRow>\n            </MDBContainer>\n        </MDBModal>\n    ) : (\n        <div />\n    );\n};\n\nexport default PackageDetailHotelGallery;\n","import { MDBCol, MDBRow } from \"mdb-react-ui-kit\";\nimport { FC, ReactNode, useEffect, useMemo, useState } from \"react\";\nimport SwiperClass from \"swiper\";\nimport ButtonBack from \"../../common/carousel/ButtonBack\";\nimport ButtonNext from \"../../common/carousel/ButtonNext\";\nimport Carousel from \"../../common/carousel/Carousel\";\nimport { useIsMD } from \"../../../utils/hooks/useWindowSizes\";\nimport { TBreackpointsCarousel } from \"../../../models/common/common\";\n\nconst OvernightCarousel: FC<{\n    visibleCards: ReactNode[];\n    resetCarousel: boolean;\n    setResetCarousel: (el: boolean) => void;\n}> = ({ visibleCards, resetCarousel, setResetCarousel }) => {\n    const [swiperClass, setSwiperClass] = useState<SwiperClass | null>(null);\n\n    useEffect(() => {\n        if (resetCarousel) {\n            setResetCarousel(false);\n        }\n    }, [visibleCards]);\n\n    const isMD = useIsMD();\n\n    const length = useMemo(() => visibleCards.length, [visibleCards]);\n\n    const breackPointCarousel: TBreackpointsCarousel = {\n        0: {\n            slidesPerView: 1.3,\n            height: 533,\n            spaceBetween: 12,\n        },\n        576: {\n            slidesPerView: 2,\n            height: 533,\n            spaceBetween: 12,\n        },\n        768: {\n            slidesPerView: 2.5,\n            height: 533,\n            spaceBetween: 12,\n        },\n        992: {\n            slidesPerView: 3,\n            height: 533,\n            spaceBetween: 12,\n        },\n        1200: {\n            slidesPerView: 3,\n            spaceBetween: 32,\n        },\n        1400: {\n            slidesPerView: 3,\n            spaceBetween: 32,\n        },\n        1600: {\n            slidesPerView: 4,\n            spaceBetween: 32,\n        },\n        1920: {\n            slidesPerView: 5,\n            spaceBetween: 32,\n        },\n    };\n\n    return (\n        <MDBRow className=\"py-2 mx-2 mt-5 mt-md-2 justify-content-center\">\n            {!isMD && length > 3 && (\n                <MDBCol center size={1}>\n                    <ButtonBack swiperClass={swiperClass} />\n                </MDBCol>\n            )}\n            <MDBCol size={12} lg={10}>\n                {length > 0 ? (\n                    <Carousel\n                        setSwiperClass={setSwiperClass}\n                        visibleSlides={3}\n                        breakpoints={breackPointCarousel}\n                    >\n                        {visibleCards}\n                    </Carousel>\n                ) : (\n                    \"\"\n                )}\n            </MDBCol>\n            {!isMD && length > 3 && (\n                <MDBCol center size={1}>\n                    <ButtonNext swiperClass={swiperClass} />\n                </MDBCol>\n            )}\n        </MDBRow>\n    );\n};\n\nexport default OvernightCarousel;\n","import {\n    MDBBtn,\n    MDBCol,\n    MDBContainer,\n    MDBRow,\n    MDBSwitch,\n} from \"mdb-react-ui-kit\";\nimport {\n    forwardRef,\n    ReactElement,\n    useCallback,\n    useEffect,\n    useMemo,\n    useState,\n} from \"react\";\nimport TagsPackageType from \"@/components/detail/tags/TagsPackageType\";\nimport { useIsSM } from \"@/utils/hooks/useWindowSizes\";\nimport { DestinationReadableTO } from \"../../../models/detail\";\nimport styles from \"../../../styles/detail/DetailAccomodations.module.scss\";\nimport {\n    accomodationsTitle,\n    accomodationSubTitle,\n} from \"../../../utils/mockData/detailMocks\";\nimport { qualityPremiumContent } from \"../../../utils/mockData/infoMock\";\nimport contactsSvg from \"../../../utils/svg-icon/contacts\";\nimport InfoModalDouble from \"../../common/info/InfoModalDouble\";\nimport SectionTitle from \"../../common/SectionTitle\";\nimport PackageDetailHotelCard from \"../PackageDetailHotelCard\";\nimport PackageDetailHotelGallery from \"../PackageDetailHotelGallery\";\nimport OvernightCarousel from \"./OvernightCarousel\";\nimport useForwardRef from \"../../../utils/hooks/useForwardRef\";\nimport { useStore } from \"../../../store\";\nimport useOnScreen from \"../../../utils/hooks/useOnScreen\";\nimport { EDetailSection, ETypePackage } from \"../../../models/common/enums\";\n\nconst OvernightAccommodations = forwardRef<\n    HTMLDivElement,\n    {\n        nightDestinations: DestinationReadableTO[];\n        isPremium: boolean;\n        setIsPremium: (el: boolean) => void;\n        typePackage: ETypePackage;\n        showAccomodations: boolean;\n    }\n>(\n    (\n        {\n            nightDestinations,\n            isPremium,\n            setIsPremium,\n            typePackage,\n            showAccomodations,\n        },\n        ref\n        // eslint-disable-next-line sonarjs/cognitive-complexity\n    ): ReactElement => {\n        const overNightRef = useForwardRef<HTMLInputElement>(ref);\n        const dispatch = useStore(state => state.dispatchPackage);\n\n        const { InfoCircleLine } = contactsSvg;\n        const cityAccommodations = useMemo(\n            () =>\n                nightDestinations\n                    .filter(\n                        nightDestination =>\n                            nightDestination.showHotel &&\n                            (isPremium\n                                ? nightDestination.premiumHotelsPresent\n                                : nightDestination.qualityHotelsPresent)\n                    )\n                    .map(el => el.city),\n            [isPremium, nightDestinations]\n        );\n        const [showModal, setShowModal] = useState<boolean>(false);\n        const [showInfoModal, setShowInfoModal] = useState<boolean>(false);\n        const [resetCarousel, setResetCarousel] = useState<boolean>(false);\n        const [selectedCity, setSelectedCity] = useState<string>(\n            cityAccommodations[0]\n        );\n        const [selectedHotel, setSelectedHotel] = useState<number>(0);\n\n        const filterAccommodations = useMemo(\n            () =>\n                nightDestinations\n                    .filter(el => el.showHotel)\n                    .find(el => el.city === selectedCity)\n                    ?.hotels?.filter(\n                        value =>\n                            value?.option ===\n                            (isPremium ? \"PREMIUM\" : \"QUALITY\")\n                    ) ?? [],\n            [nightDestinations, selectedCity, isPremium]\n        );\n\n        const isOnScreen = useOnScreen(overNightRef);\n\n        const hotelGalleryHandler = (selectedIndex: number) => {\n            setSelectedHotel(selectedIndex);\n            setShowModal(true);\n        };\n\n        const handleTabClick = (el: string) => {\n            setResetCarousel(true);\n            setSelectedCity(el);\n        };\n\n        const getVisibleCards = useCallback(() => {\n            return filterAccommodations.map((el, idx) => (\n                /* eslint-disable react/no-array-index-key */\n                <PackageDetailHotelCard\n                    key={`${idx}_${el.name}`}\n                    packageAccommodation={el}\n                    currentIndex={idx}\n                    hotelGalleryHandler={hotelGalleryHandler}\n                    isPremium={isPremium}\n                />\n            ));\n        }, [selectedCity, isPremium]);\n        useEffect(() => {\n            if (isOnScreen) {\n                dispatch({\n                    type: \"SET_CURRENT_SECTION\",\n                    payload: EDetailSection.ACCOMMODATION,\n                });\n            }\n        }, [isOnScreen]);\n\n        const isSM = useIsSM();\n\n        return showAccomodations ? (\n            <div className={styles.customContainer} ref={overNightRef}>\n                <div className={styles.accomodationContainer}>\n                    {isSM &&\n                        typePackage === ETypePackage.QUALITY_AND_PREMIUM && (\n                            <>\n                                <div className=\"justify-content-center\">\n                                    <div\n                                        className={styles.info}\n                                        role=\"button\"\n                                        tabIndex={0}\n                                        onClick={() => setShowInfoModal(true)}\n                                    >\n                                        <p>Choose your esperienza</p>\n                                        <InfoCircleLine />\n                                    </div>\n                                </div>\n                                <div className=\"justify-content-center mt-3\">\n                                    <div className=\"d-flex justify-content-center mt-1 mb-2\">\n                                        <span\n                                            className={\n                                                !isPremium\n                                                    ? `pe-3 ${styles.cardSecondaryTextBold}`\n                                                    : `pe-3 ${styles.cardSecondaryText}`\n                                            }\n                                        >\n                                            Quality\n                                        </span>\n                                        <MDBSwitch\n                                            checked={isPremium}\n                                            onChange={() => {\n                                                setIsPremium(!isPremium);\n                                                const url = new URL(\n                                                    window.location.href\n                                                );\n                                                url.searchParams.set(\n                                                    \"isPremium\",\n                                                    !isPremium as unknown as string\n                                                );\n                                                window.history.replaceState(\n                                                    null,\n                                                    \"\",\n                                                    url\n                                                );\n                                            }}\n                                            className={styles.customSwitch}\n                                        />\n                                        <span\n                                            className={\n                                                isPremium\n                                                    ? `ps-3 ${styles.cardSecondaryTextBold}`\n                                                    : `ps-3 ${styles.cardSecondaryText}`\n                                            }\n                                        >\n                                            Premium\n                                        </span>\n                                    </div>\n                                </div>\n                            </>\n                        )}\n\n                    {isSM &&\n                        typePackage !== ETypePackage.QUALITY_AND_PREMIUM && (\n                            <TagsPackageType\n                                isPremium={\n                                    typePackage === ETypePackage.ONLY_PREMIUM\n                                }\n                            />\n                        )}\n\n                    <div>\n                        <SectionTitle\n                            sectionTitle={{\n                                title: accomodationsTitle,\n                                subTitle: accomodationSubTitle,\n                                classNameContainer: \"p-0 m-0\",\n                                alignment: \"justify-content-center text-center\",\n                                titleColumnSize: 6,\n                                classNameTitle: styles.titleAccodomodations,\n                                classNameSubTitle:\n                                    styles.subtitleAccodomodations,\n                            }}\n                        />\n                    </div>\n                    {!isSM &&\n                        typePackage === ETypePackage.QUALITY_AND_PREMIUM && (\n                            <>\n                                <div className=\"justify-content-center\">\n                                    <div\n                                        className={styles.info}\n                                        role=\"button\"\n                                        tabIndex={0}\n                                        onClick={() => setShowInfoModal(true)}\n                                    >\n                                        <p>Choose your esperienza</p>\n                                        <InfoCircleLine />\n                                    </div>\n                                </div>\n                                <div className=\"justify-content-center mt-3\">\n                                    <div className=\"d-flex justify-content-center mt-1 mb-2\">\n                                        <span\n                                            className={\n                                                !isPremium\n                                                    ? `pe-3 ${styles.cardSecondaryTextBold}`\n                                                    : `pe-3 ${styles.cardSecondaryText}`\n                                            }\n                                        >\n                                            Quality\n                                        </span>\n                                        <MDBSwitch\n                                            checked={isPremium}\n                                            onChange={() => {\n                                                setIsPremium(!isPremium);\n                                                const url = new URL(\n                                                    window.location.href\n                                                );\n                                                url.searchParams.set(\n                                                    \"isPremium\",\n                                                    !isPremium as unknown as string\n                                                );\n                                                window.history.replaceState(\n                                                    null,\n                                                    \"\",\n                                                    url\n                                                );\n                                            }}\n                                            className={styles.customSwitch}\n                                        />\n                                        <span\n                                            className={\n                                                isPremium\n                                                    ? `ps-3 ${styles.cardSecondaryTextBold}`\n                                                    : `ps-3 ${styles.cardSecondaryText}`\n                                            }\n                                        >\n                                            Premium\n                                        </span>\n                                    </div>\n                                </div>\n                            </>\n                        )}\n\n                    {!isSM &&\n                        typePackage !== ETypePackage.QUALITY_AND_PREMIUM && (\n                            <TagsPackageType\n                                isPremium={\n                                    typePackage === ETypePackage.ONLY_PREMIUM\n                                }\n                            />\n                        )}\n                    <MDBRow className=\"d-flex justify-content-center p-md-0\">\n                        <div\n                            className={`d-flex justify-content-md-center ms-4 mx-md-5 ${styles.carousel}`}\n                        >\n                            {cityAccommodations.map((el, index) => (\n                                <MDBCol md={2} lg={1} size={4} className=\"mx-2\">\n                                    <MDBBtn\n                                        key={`${index}_${el}`}\n                                        onClick={() => handleTabClick(el)}\n                                        className={\n                                            selectedCity === el\n                                                ? styles.cityButtonSelected\n                                                : styles.cityButton\n                                        }\n                                    >\n                                        <p>{el}</p>\n                                    </MDBBtn>\n                                </MDBCol>\n                            ))}\n                        </div>\n                    </MDBRow>\n                    <MDBContainer fluid className=\"p-0\">\n                        <OvernightCarousel\n                            visibleCards={getVisibleCards()}\n                            resetCarousel={resetCarousel}\n                            setResetCarousel={setResetCarousel}\n                        />\n                    </MDBContainer>\n                </div>\n                <PackageDetailHotelGallery\n                    show={showModal}\n                    setShow={setShowModal}\n                    currentHotel={filterAccommodations.at(selectedHotel)!}\n                />\n                <InfoModalDouble\n                    content={qualityPremiumContent}\n                    show={showInfoModal}\n                    setShow={setShowInfoModal}\n                />\n            </div>\n        ) : (\n            <div ref={overNightRef} />\n        );\n    }\n);\n\nexport default OvernightAccommodations;\n","import { MDBBtn, MDBCol, MDBContainer, MDBRow } from \"mdb-react-ui-kit\";\nimport { FC, useMemo, useState } from \"react\";\nimport Image from \"next/image\";\nimport dynamic from \"next/dynamic\";\nimport {\n    ISectionTitle,\n    TBreackpointsCarousel,\n} from \"../../models/common/common\";\nimport styles from \"../../styles/detail/Detail.PhotoGallery.module.scss\";\nimport {\n    photoGallerySubTitle,\n    photoGalleryTitle,\n} from \"../../utils/mockData/detailMocks\";\nimport { randomUid } from \"../../utils/randomIds\";\nimport generalSvg from \"../../utils/svg-icon/general\";\nimport SectionTitle from \"../common/SectionTitle\";\nimport { useIsMD } from \"../../utils/hooks/useWindowSizes\";\nimport Carousel from \"../common/carousel/Carousel\";\n\nconst PhotoGalleryModal = dynamic(() => import(\"./PhotoGalleryModal\"), {\n    ssr: false,\n});\n\nconst PhotoGallery: FC<{\n    photoUrls: string[];\n}> = ({ photoUrls }) => {\n    const { ImageLine } = generalSvg;\n\n    const [showModal, setShowModal] = useState(false);\n\n    const [imageError, setImageError] = useState<number[]>([]);\n    const defaultImage = \"/images/tours/across-italy-reduced.jpg\";\n    const isMD = useIsMD();\n    const [indexPhotoClicked, setIndexPhotoClicked] = useState(0);\n\n    const photoLinks = useMemo(\n        () =>\n            (isMD ? photoUrls : photoUrls.slice(1, 5)).map(el => {\n                return { id: randomUid(), url: el };\n            }),\n        [photoUrls, isMD]\n    );\n\n    const title: ISectionTitle = {\n        title: photoGalleryTitle,\n        subTitle: photoGallerySubTitle,\n        alignment: \"justify-content-start text-start\",\n        titleColumnSize: 12,\n        spaceBetween: 2,\n        classNameContainer: \"py-3\",\n    };\n\n    const breackPointCarousel: TBreackpointsCarousel = {\n        0: {\n            slidesPerView: 1.3,\n            spaceBetween: 20,\n        },\n        576: {\n            slidesPerView: 2,\n            spaceBetween: 20,\n        },\n        768: {\n            slidesPerView: 2.5,\n            height: 533,\n            spaceBetween: 12,\n        },\n        992: {\n            slidesPerView: 3,\n            height: 533,\n            spaceBetween: 12,\n        },\n    };\n\n    const openModal = (index: number) => {\n        setIndexPhotoClicked(index + 1);\n        setShowModal(true);\n    };\n\n    return (\n        <>\n            <MDBContainer fluid className={` ${styles.container} py-5 px-0`}>\n                <MDBRow className=\"d-flex justify-content-center\">\n                    <MDBCol size={10}>\n                        <MDBCol size={10}>\n                            <SectionTitle sectionTitle={title} />\n                        </MDBCol>\n                    </MDBCol>\n                </MDBRow>\n                <MDBRow\n                    className={`${styles.rowImageContainer} d-flex justify-content-center`}\n                >\n                    <MDBCol size={12} lg={10} className=\"ps-4 ps-lg-0\">\n                        <MDBRow className={`${styles.rowImage} h-100`}>\n                            <MDBCol\n                                size={12}\n                                lg={6}\n                                className=\"position-relative p-2 rounded-7\"\n                            >\n                                {!isMD && (\n                                    <div\n                                        className=\"position-relative p-2 h-100\"\n                                        onClick={() => openModal(-1)}\n                                    >\n                                        <Image\n                                            src={\n                                                imageError.includes(0)\n                                                    ? defaultImage\n                                                    : photoUrls[0]\n                                            }\n                                            className={` ${styles.imageGallery} img-fluid rounded-7 shadow-4`}\n                                            alt=\"card-image\"\n                                            fill\n                                            onError={() => {\n                                                setImageError(prevState => [\n                                                    ...prevState,\n                                                    0,\n                                                ]);\n                                            }}\n                                        />\n                                    </div>\n                                )}\n                                {isMD && (\n                                    <Carousel\n                                        visibleSlides={3}\n                                        breakpoints={breackPointCarousel}\n                                    >\n                                        {photoLinks.map((el, idx) => (\n                                            <div\n                                                className={` ${styles.slideContainer} mx-3 h-100 w-100`}\n                                                onClick={() =>\n                                                    openModal(idx - 1)\n                                                }\n                                                key={el.id}\n                                            >\n                                                <div\n                                                    className={` ${styles.slideContainer} position-relative p-2 h-100`}\n                                                >\n                                                    <Image\n                                                        src={\n                                                            imageError.includes(\n                                                                idx + 1\n                                                            )\n                                                                ? defaultImage\n                                                                : el.url\n                                                        }\n                                                        className={` ${styles.imageGallery} img-fluid rounded-7 shadow-4`}\n                                                        alt=\"card-image\"\n                                                        fill\n                                                        onError={() => {\n                                                            setImageError(\n                                                                prevState => [\n                                                                    ...prevState,\n                                                                    idx + 1,\n                                                                ]\n                                                            );\n                                                        }}\n                                                    />\n                                                </div>\n                                            </div>\n                                        ))}\n                                    </Carousel>\n                                )}\n                                <MDBBtn\n                                    className={`${styles.buttonGallery} position-absolute bottom-0 start-0 m-5 d-flex align-items-center shadow-0`}\n                                    onClick={() => openModal(-1)}\n                                >\n                                    <ImageLine className=\"align-self-center me-2\" />\n                                    Show all photos\n                                </MDBBtn>\n                            </MDBCol>\n                            {!isMD && (\n                                <MDBCol size={6}>\n                                    <MDBRow className=\"h-100\">\n                                        {photoLinks.map((el, index) => (\n                                            <MDBCol\n                                                key={el.id}\n                                                size={6}\n                                                className=\"square rounded-7 position-relative p-2\"\n                                            >\n                                                <div\n                                                    className=\"position-relative p-2 h-100\"\n                                                    onClick={() =>\n                                                        openModal(index)\n                                                    }\n                                                >\n                                                    <Image\n                                                        src={\n                                                            imageError.includes(\n                                                                index + 1\n                                                            )\n                                                                ? defaultImage\n                                                                : el.url\n                                                        }\n                                                        className={` ${styles.imageGallery} img-fluid rounded-7 shadow-4`}\n                                                        alt=\"card-image\"\n                                                        fill\n                                                        onError={() => {\n                                                            setImageError(\n                                                                prevState => [\n                                                                    ...prevState,\n                                                                    index + 1,\n                                                                ]\n                                                            );\n                                                        }}\n                                                    />\n                                                </div>\n                                            </MDBCol>\n                                        ))}\n                                    </MDBRow>\n                                </MDBCol>\n                            )}\n                        </MDBRow>\n                    </MDBCol>\n                </MDBRow>\n            </MDBContainer>\n            {showModal && (\n                <PhotoGalleryModal\n                    photoUrls={photoUrls}\n                    onClose={() => setShowModal(false)}\n                    indexPhotoClicked={indexPhotoClicked}\n                />\n            )}\n        </>\n    );\n};\n\nexport default PhotoGallery;\n","import { FC, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport useRelatedToursData from \"@/utils/queries/hooks/useRelatedTours\";\nimport styles from \"@/styles/detail/DetailRecap.module.scss\";\nimport useSticky from \"@/hooks/useSticky\";\nimport { TourResponseTO } from \"@/models/detail\";\nimport { useShouldRenderArrayFC } from \"@/hooks/useShouldRenderArrayFC\";\nimport { EDetailSection, ERoomType, ETypePackage } from \"@/models/common/enums\";\nimport { useIsMD } from \"@/hooks/useWindowSizes\";\nimport { useRouter } from \"next/router\";\nimport { getOriginalAmount } from \"@/store/checkout/selector-checkout\";\nimport { reviewsContainer } from \"@/utils/constants\";\nimport useHomeData from \"@/utils/queries/hooks/useHomeData\";\nimport _ from \"lodash\";\nimport KeepInTouch from \"../common/KeepInTouch\";\nimport TikTokSection from \"../home/TikTokSection\";\nimport InterestedIn from \"./InterestedIn\";\nimport PackageDetailHead from \"./PackageDetailHead\";\nimport WhyChoosePlay from \"./WhyChoosePlay\";\nimport PackageDetailRecap from \"./PackageDetailRecap\";\nimport PackageDetailBooking from \"./DetailBooking/PackageDetailBooking\";\nimport TravelExperiencesStep from \"./TravelExperiencesStep\";\nimport Brochures from \"../home/brochures/Brochures\";\nimport OvernightAccommodations from \"./OvernightAccomodations/OvernightAccomodations\";\nimport TourReview from \"../home/TourReviews\";\nimport PhotoGallery from \"./PhotoGallery\";\nimport useVideoReviewData from \"../../utils/queries/hooks/useVideoReviewData\";\nimport { useStore } from \"../../store\";\nimport PackageDetailNavbar from \"./PackageDetailNavbar\";\n\nconst PackageDetailBody: FC<{\n    packageDetail: TourResponseTO;\n    initPremium: boolean;\n}> = ({ packageDetail, initPremium }) => {\n    const dispatch = useStore(state => state.dispatchPackage);\n    const currentSection = useStore(state => state.packageState.currentSection);\n    const dispatchCheckout = useStore(state => state.dispatchCheckout);\n    const originalAmount = useStore(getOriginalAmount);\n    const [isPremium, setIsPremium] = useState<boolean>(initPremium);\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n    const [isPromo, setIsPromo] = useState<boolean>(false);\n    const travelExperiencesStepSection = useRef<HTMLDivElement>(null);\n    const accommodationsSection = useRef<HTMLDivElement>(null);\n    const generalRef = useRef<HTMLDivElement>(null);\n    const hiwRef = useRef<HTMLDivElement>(null);\n    const { data: videoReviews } = useVideoReviewData();\n    const { data: homeData } = useHomeData();\n    const relatedTours = useRelatedToursData(\n        packageDetail.quality.tourId,\n        isPremium\n    );\n    const [typePackage, setTipePackage] = useState<ETypePackage>();\n    const [areHotelsAvailable, setAreHotelsAvailable] =\n        useState<boolean>(false);\n\n    const getPackagePremiumQuality = () => {\n        if (packageDetail.onlyQuality) {\n            setIsPremium(false);\n            return setTipePackage(ETypePackage.ONLY_QUALITY);\n        }\n        if (packageDetail.onlyPremium) {\n            setIsPremium(true);\n            return setTipePackage(ETypePackage.ONLY_PREMIUM);\n        }\n        return setTipePackage(ETypePackage.QUALITY_AND_PREMIUM);\n    };\n\n    // const dispatchCheckout = useStore(state => state.dispatchCheckout);\n\n    const getCurrentPackage = () =>\n        isPremium ? packageDetail?.premium : packageDetail?.quality;\n\n    const isVideoAvailable = () =>\n        !getCurrentPackage().coverVideo.endsWith(\"/\");\n\n    const sortedItineraries = useMemo(\n        () =>\n            getCurrentPackage().itineraries.sort(\n                (first, second) => +first.day - +second.day\n            ),\n        [isPremium]\n    );\n\n    useEffect(() => {\n        dispatchCheckout({\n            type: \"SET_CLICKDATE\",\n            payload: false,\n        });\n\n        dispatchCheckout({\n            type: \"SET_CLICKLANGUAGE\",\n            payload: true,\n        });\n        dispatchCheckout({\n            type: \"SET_CLICKCONFIRMDATE\",\n            payload: false,\n        });\n    }, [dispatchCheckout]);\n\n    useEffect(() => {\n        dispatchCheckout({\n            type: \"SET_COUPON\",\n            payload: {\n                code: \"\",\n                value: 0,\n            },\n        });\n\n        dispatchCheckout({\n            type: \"SET_TOTAL_AMOUNT\",\n            payload: originalAmount,\n        });\n    }, [dispatchCheckout, originalAmount]);\n\n    const handleNavigation = (section: EDetailSection) => {\n        let currentSectionOffsetTop = null;\n        if (section === EDetailSection.GENERAL) {\n            currentSectionOffsetTop =\n                (generalRef.current?.offsetTop ?? 180) - 180;\n        } else if (section === EDetailSection.ITINERARY) {\n            let pixelToRemove = 240;\n            if (currentSection !== EDetailSection.GENERAL) {\n                pixelToRemove = 180;\n            }\n            currentSectionOffsetTop =\n                (travelExperiencesStepSection.current?.offsetTop ?? 180) -\n                pixelToRemove;\n        } else if (section === EDetailSection.ACCOMMODATION) {\n            let pixelToRemove = 280;\n            if (currentSection !== EDetailSection.GENERAL) {\n                pixelToRemove = 180;\n            }\n            currentSectionOffsetTop =\n                (accommodationsSection.current?.offsetTop ?? 180) -\n                pixelToRemove;\n        } else if (section === EDetailSection.HIW) {\n            currentSectionOffsetTop = (hiwRef.current?.offsetTop ?? 180) - 180;\n        }\n\n        dispatch({\n            type: \"SET_CURRENT_SECTION\",\n            payload: section,\n        });\n\n        window.scrollTo({\n            top: currentSectionOffsetTop ?? 180,\n            behavior: \"smooth\",\n        });\n    };\n\n    const router = useRouter();\n\n    useEffect(() => {\n        const roomParam = router.query.rooms;\n        if (roomParam) {\n            dispatchCheckout({\n                type: \"UPDATE_ORDER_DATA\",\n                payload: JSON.parse(roomParam as string),\n            });\n            dispatchCheckout({\n                type: \"SET_ROOMS_AND_GENERATE_TRAVELERS\",\n                payload: JSON.parse(roomParam as string),\n            });\n        } else {\n            dispatchCheckout({\n                type: \"SET_ROOMS_AND_GENERATE_TRAVELERS\",\n                payload: [\n                    {\n                        type: ERoomType.DOUBLE,\n                        adults: 1,\n                        children: [],\n                        newborns: 0,\n                    },\n                ],\n            });\n        }\n    }, [dispatchCheckout, router]);\n\n    useEffect(() => {\n        getPackagePremiumQuality();\n        dispatchCheckout({\n            type: \"SET_TOUR_DETAIL\",\n            payload: isPremium ? packageDetail.premium : packageDetail.quality,\n        });\n    }, [packageDetail]);\n\n    const handleHashChange = useCallback((event?: HashChangeEvent) => {\n        // la navigazione diretta per id non è possibile a causa della struttura della pagina e del suo contenuto.\n        // E' stato simulato un comportamento simile tramite una gestione manuale\n        const hashToSearch =\n            router.asPath.split(\"#\")[1] ?? event?.newURL.split(\"#\")[1];\n        if (hashToSearch && hashToSearch === reviewsContainer.hash) {\n            const tourReviewsEl = document.getElementById(reviewsContainer.id);\n            if (tourReviewsEl) {\n                setTimeout(() => {\n                    const offsetTop = tourReviewsEl.offsetTop - 250;\n                    window.scrollTo({\n                        top: offsetTop,\n                    });\n                }, 1500);\n            }\n        }\n    }, []);\n\n    useEffect(() => {\n        handleHashChange();\n        window.addEventListener(\"hashchange\", event => handleHashChange(event));\n        return () => {\n            window.removeEventListener(\"hashchange\", handleHashChange);\n        };\n    }, [router.asPath]);\n\n    useEffect(() => {\n        const nightDestinations = _.merge(\n            packageDetail?.premium.nightDestinations,\n            packageDetail?.quality.nightDestinations\n        );\n        setAreHotelsAvailable(\n            !!nightDestinations\n                .filter(nightDestination => nightDestination.showHotel)\n                .map(nightDestination => nightDestination.hotels).length\n        );\n    }, []);\n\n    const { sticky, stickyRef } = useSticky();\n\n    return (\n        <div className=\"minWidth100vwFromXL\">\n            <PackageDetailHead\n                packageDetail={getCurrentPackage()}\n                days={sortedItineraries.at(-1)?.day ?? \"1\"}\n                isPromo={isPromo}\n                isPremium={isPremium}\n                setIsPremium={setIsPremium}\n                typePackage={typePackage!}\n                showAccomodations={\n                    !packageDetail.requestAQuote && areHotelsAvailable\n                }\n                isVideoAvailable={isVideoAvailable()}\n            />\n            {!useIsMD() && (\n                <PackageDetailRecap\n                    handleNavigation={handleNavigation}\n                    packageDetail={getCurrentPackage()}\n                    days={sortedItineraries.at(-1)?.day ?? \"1\"}\n                    showAccomodations={\n                        !packageDetail.requestAQuote && areHotelsAvailable\n                    }\n                    isRequestAQuote={packageDetail.requestAQuote}\n                />\n            )}\n            {useIsMD() && (\n                <div\n                    ref={stickyRef}\n                    className={`w-100 ${styles.navContainer} ${\n                        sticky && styles.isSticky\n                    }`}\n                >\n                    <PackageDetailNavbar\n                        showAccomodations={\n                            !packageDetail.requestAQuote && areHotelsAvailable\n                        }\n                        isRequestAQuote={packageDetail.requestAQuote}\n                        handleNavigation={handleNavigation}\n                    />\n                </div>\n            )}\n            <PackageDetailBooking\n                ref={generalRef}\n                days={sortedItineraries.at(-1)?.day ?? \"1\"}\n                packageDetail={getCurrentPackage()}\n                isPremium={isPremium}\n                setIsPremium={setIsPremium}\n                typePackage={typePackage!}\n                pricePremium={+packageDetail.premium.price}\n                priceQuality={+packageDetail.quality.price}\n                packagePremium={packageDetail.premium}\n                packageQuality={packageDetail.quality}\n                isRequestAQuote={packageDetail.requestAQuote}\n            />\n            <TravelExperiencesStep\n                ref={travelExperiencesStepSection}\n                itineraries={sortedItineraries}\n                isPremium={isPremium}\n                setIsPremium={setIsPremium}\n                typePackage={typePackage!}\n                packageDetail={getCurrentPackage()}\n            />\n            <Brochures />\n            <OvernightAccommodations\n                ref={accommodationsSection}\n                nightDestinations={getCurrentPackage().nightDestinations}\n                isPremium={isPremium}\n                setIsPremium={setIsPremium}\n                typePackage={typePackage!}\n                showAccomodations={\n                    !packageDetail.requestAQuote && areHotelsAvailable\n                }\n            />\n            {useShouldRenderArrayFC(getCurrentPackage().gallery) && (\n                <PhotoGallery photoUrls={getCurrentPackage().gallery!} />\n            )}\n            {useShouldRenderArrayFC(getCurrentPackage().reviews) && (\n                <TourReview reviewContents={getCurrentPackage().reviews!} />\n            )}\n            <WhyChoosePlay ref={hiwRef} />\n            {videoReviews && (\n                <TikTokSection\n                    videoReviews={videoReviews}\n                    wordingsDelta={homeData?.staticMedia.videoReviews}\n                />\n            )}\n            {useShouldRenderArrayFC(relatedTours) && (\n                <InterestedIn content={relatedTours!} />\n            )}\n            <KeepInTouch />\n        </div>\n    );\n};\n\nexport default PackageDetailBody;\n","import {\n    dehydrate,\n    DehydratedState,\n    QueryClient,\n    useQuery,\n} from \"@tanstack/react-query\";\nimport { GetServerSideProps, NextPage } from \"next\";\nimport { useRouter } from \"next/router\";\nimport { useEffect } from \"react\";\nimport adapterTourViewItemGAnalytics from \"@/models/tour\";\nimport {\n    getBrochureData,\n    getExcludedDaysSessionByTitle,\n    getNavBarData,\n    getPackageDetailByTitle,\n    getRelatedByTitle,\n    getVideoReviewsData,\n} from \"@/utils/queries\";\n\nimport { TourResponseTO } from \"@/models/detail\";\nimport { OpenGraph } from \"next-seo/lib/types\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport TagManager from \"react-gtm-module\";\nimport { viewItem } from \"@/utils/analytics/tagmanager\";\nimport Layout from \"../../components/common/Layout\";\nimport PackageDetailBody from \"../../components/detail/PackageDetailBody\";\n\nconst getOpenGraphData = (\n    packageDetail: TourResponseTO | undefined\n): OpenGraph => {\n    if (packageDetail) {\n        return {\n            title: packageDetail.metadata?.title,\n            description: packageDetail.metadata?.metaDescription,\n            url: packageDetail.metadata?.urlCanonical,\n            images: [\n                {\n                    url: packageDetail.quality.coverImage,\n                    alt: packageDetail.metadata?.altHeadImage,\n                },\n                {\n                    url: packageDetail.quality.whatWillYouSeeImage,\n                    alt: packageDetail.metadata?.altWhatWillYouSeeImage,\n                },\n            ],\n        };\n    }\n    return {};\n};\n\nconst PackageDetail: NextPage<{ isPremium: boolean }> = ({ isPremium }) => {\n    const router = useRouter();\n    const { slug } = router.query;\n\n    const { data: packageDetail } = useQuery({\n        queryKey: [\"packageDetailByTitle\"],\n        queryFn: () => getPackageDetailByTitle(slug?.[0] as string),\n        refetchInterval: false,\n        enabled: !!slug?.[0],\n    });\n\n    useEffect(() => {\n        if (packageDetail) {\n            const prop = adapterTourViewItemGAnalytics(packageDetail);\n\n            TagManager.dataLayer(viewItem(prop));\n        }\n    }, [packageDetail]);\n\n    const metadata = getOpenGraphData(packageDetail);\n\n    return (\n        <Layout\n            metaTags={metadata}\n            seoKeywords={packageDetail?.quality.keywords}\n        >\n            <PackageDetailBody\n                packageDetail={packageDetail!}\n                initPremium={isPremium}\n            />\n        </Layout>\n    );\n};\n\nexport const getServerSideProps: GetServerSideProps = async (\n    ctx\n): Promise<{\n    props: {\n        dehydratedState: DehydratedState;\n        isPremium: boolean;\n    };\n}> => {\n    const queryClient = new QueryClient();\n\n    const isPremium =\n        typeof ctx.query.isPremium === \"string\"\n            ? ctx.query.isPremium\n            : ctx.query.isPremium?.at(0);\n\n    const booleanify = (value: string | undefined): boolean => {\n        const truthy: string[] = [\"true\", \"True\", \"1\"];\n\n        return truthy.includes(value ?? \"false\");\n    };\n\n    await Promise.all([\n        await queryClient.prefetchQuery([\"navBar\"], getNavBarData),\n        await queryClient.prefetchQuery([\"brochures\"], getBrochureData),\n        await queryClient.prefetchQuery([\"videoReview\"], getVideoReviewsData),\n        await queryClient.prefetchQuery(\n            [\"relatedToursByTitle\", ctx.params!.slug![0]],\n            () => getRelatedByTitle(ctx.params!.slug![0])\n        ),\n        await queryClient.prefetchQuery([\"packageDetailByTitle\"], () =>\n            getPackageDetailByTitle(ctx.params!.slug![0])\n        ),\n        await queryClient.prefetchQuery(\n            [\"exclusionDaysByTitle\", ctx?.params?.slug?.[0]],\n            () =>\n                getExcludedDaysSessionByTitle(\n                    ctx?.params?.slug?.[0] || \"\",\n                    true\n                )\n        ),\n    ]);\n\n    return {\n        props: {\n            dehydratedState: dehydrate(queryClient),\n            isPremium: booleanify(isPremium),\n        },\n    };\n};\n\nexport default PackageDetail;\n","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgLine = function SvgLine(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    width: 24,\n    height: 24,\n    fill: \"none\",\n    xmlns: \"http://www.w3.org/2000/svg\"\n  }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fillRule: \"evenodd\",\n    clipRule: \"evenodd\",\n    d: \"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm0 2c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\",\n    fill: \"#777E91\"\n  })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    d: \"M11 7a1 1 0 1 1 2 0 3 3 0 0 1 3 3 1 1 0 1 1-2 0 1 1 0 0 0-1-1h-2.257a.743.743 0 0 0-.235 1.449l3.616 1.205A2.743 2.743 0 0 1 13.257 17H13a1 1 0 1 1-2 0 3 3 0 0 1-3-3 1 1 0 1 1 2 0 1 1 0 0 0 1 1h2.257a.743.743 0 0 0 .235-1.449l-3.616-1.205A2.744 2.744 0 0 1 10.743 7H11Z\",\n    fill: \"#777E91\"\n  })));\n};\nexport default SvgLine;","import CoinLine from \"../../public/custom-icons/icons-2/icons/Coin/Line.svg\";\n\nconst businessSvg = {\n    CoinLine,\n};\n\nexport default businessSvg;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"spanIconContainerNormal\":\"ActivityIcon_spanIconContainerNormal__PUPgP\",\"spanIconContainerSmall\":\"ActivityIcon_spanIconContainerSmall__q8cqZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"Detail_ModalMap_button__d3amJ\",\"mapContainer\":\"Detail_ModalMap_mapContainer__1vf_A\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"containerModal\":\"Detail_PhotoGallery_containerModal__ARf71\",\"container\":\"Detail_PhotoGallery_container__lqs1k\",\"carousel\":\"Detail_PhotoGallery_carousel__Joo5V\",\"rowImageContainer\":\"Detail_PhotoGallery_rowImageContainer__Z5O58\",\"slideContainer\":\"Detail_PhotoGallery_slideContainer__KjfOn\",\"slider\":\"Detail_PhotoGallery_slider__KF4de\",\"rowImage\":\"Detail_PhotoGallery_rowImage__krv75\",\"imageGallery\":\"Detail_PhotoGallery_imageGallery___fcRY\",\"image\":\"Detail_PhotoGallery_image__vdycn\",\"buttonModal\":\"Detail_PhotoGallery_buttonModal__iGXyH\",\"buttonGallery\":\"Detail_PhotoGallery_buttonGallery__LK_k8\",\"buttonArrow\":\"Detail_PhotoGallery_buttonArrow__ev_wY\",\"button\":\"Detail_PhotoGallery_button__Zq8S_\",\"text\":\"Detail_PhotoGallery_text___nyT5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"travelSectionBgColor\":\"Detail_TravelExperiencesStep_travelSectionBgColor__2ccO4\",\"numberStep\":\"Detail_TravelExperiencesStep_numberStep__XOBsC\",\"mapContainer\":\"Detail_TravelExperiencesStep_mapContainer___uTYV\",\"divCollst\":\"Detail_TravelExperiencesStep_divCollst__cQJz4\",\"divComtainer\":\"Detail_TravelExperiencesStep_divComtainer__sahhu\",\"divColCards\":\"Detail_TravelExperiencesStep_divColCards__Bww56\",\"divColMap\":\"Detail_TravelExperiencesStep_divColMap__9tzAR\",\"customSwitch\":\"Detail_TravelExperiencesStep_customSwitch__KjlBk\",\"cardSecondaryTextBold\":\"Detail_TravelExperiencesStep_cardSecondaryTextBold__YikZf\",\"cardSecondaryText\":\"Detail_TravelExperiencesStep_cardSecondaryText__bLeK_\",\"gradient\":\"Detail_TravelExperiencesStep_gradient__t5P59\",\"buttonMainActionRotate\":\"Detail_TravelExperiencesStep_buttonMainActionRotate__PGVF_\",\"buttonMainAction\":\"Detail_TravelExperiencesStep_buttonMainAction__853E_\",\"info\":\"Detail_TravelExperiencesStep_info__Y9uS4\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardBorderQuality\":\"Detail_TravelExperiencesStepCard_cardBorderQuality__WDeqQ\",\"cardBorderPremium\":\"Detail_TravelExperiencesStepCard_cardBorderPremium__LDyEu\",\"cardStarQIcon\":\"Detail_TravelExperiencesStepCard_cardStarQIcon__iYG6l\",\"cardDiamondIcon\":\"Detail_TravelExperiencesStepCard_cardDiamondIcon__llkxm\",\"starText\":\"Detail_TravelExperiencesStepCard_starText__zo_Vt\",\"cardClockIcon\":\"Detail_TravelExperiencesStepCard_cardClockIcon__AR68S\",\"cardTitle\":\"Detail_TravelExperiencesStepCard_cardTitle__WL00K\",\"cardSecondaryText\":\"Detail_TravelExperiencesStepCard_cardSecondaryText__VOAa3\",\"activityText\":\"Detail_TravelExperiencesStepCard_activityText__RX1UW\",\"spanMoreInfo\":\"Detail_TravelExperiencesStepCard_spanMoreInfo__yPtuA\",\"spanIconContainer\":\"Detail_TravelExperiencesStepCard_spanIconContainer__lGWt7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title\":\"Detail_WhyChoosePlay_title__jqTLr\",\"description\":\"Detail_WhyChoosePlay_description__D0CxR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"customContainer\":\"DetailAccomodations_customContainer__b1Cdu\",\"accomodationContainer\":\"DetailAccomodations_accomodationContainer__AEaJr\",\"info\":\"DetailAccomodations_info__wr8Ji\",\"customSwitch\":\"DetailAccomodations_customSwitch__R7Yjx\",\"cardSecondaryTextBold\":\"DetailAccomodations_cardSecondaryTextBold__OJH5b\",\"cardSecondaryText\":\"DetailAccomodations_cardSecondaryText__TQJO0\",\"cityButton\":\"DetailAccomodations_cityButton__KuIwH\",\"cityButtonSelected\":\"DetailAccomodations_cityButtonSelected__v01a5\",\"carousel\":\"DetailAccomodations_carousel__1wqPO\",\"titleAccodomodations\":\"DetailAccomodations_titleAccodomodations__rkvEw\",\"subtitleAccodomodations\":\"DetailAccomodations_subtitleAccodomodations__WJIKA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"customContainer\":\"DetailBooking_customContainer__2qFK5\",\"containerSpacer\":\"DetailBooking_containerSpacer__imQCG\",\"addToCartContainer\":\"DetailBooking_addToCartContainer__d2rwY\",\"isStickyBottom\":\"DetailBooking_isStickyBottom__fR1ef\",\"isSticky\":\"DetailBooking_isSticky__GMwrR\",\"smoothScroll\":\"DetailBooking_smoothScroll__CxLXC\",\"smoothScrollBottom\":\"DetailBooking_smoothScrollBottom__V1cAY\",\"addToCartButton\":\"DetailBooking_addToCartButton__NsrYk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"accordion\":\"AccordionItemActivity_accordion___9_qH\",\"accordionItem\":\"AccordionItemActivity_accordionItem__rslHa\",\"accordionItemHeader\":\"AccordionItemActivity_accordionItemHeader__X8leU\",\"accordionItemHeaderIcon\":\"AccordionItemActivity_accordionItemHeaderIcon__VKYF_\",\"accordionItemHeaderIconOpen\":\"AccordionItemActivity_accordionItemHeaderIconOpen__X5AJq\",\"accordionItemHeaderOpen\":\"AccordionItemActivity_accordionItemHeaderOpen__mNcDo\",\"accordionItemHeaderOpenDivider\":\"AccordionItemActivity_accordionItemHeaderOpenDivider__rt_1b\",\"accordionItemContent\":\"AccordionItemActivity_accordionItemContent__UMlbB\",\"accordionItemOpen\":\"AccordionItemActivity_accordionItemOpen__xmGwR\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"ActivityIconBody_container__QW0wG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonContainer\":\"ChooseExperienceSectionDetail_buttonContainer__6yn3n\",\"buttonDefaultPremium\":\"ChooseExperienceSectionDetail_buttonDefaultPremium__MDsa0\",\"buttonDefaultQuality\":\"ChooseExperienceSectionDetail_buttonDefaultQuality__pUQEw\",\"buttonActivePremium\":\"ChooseExperienceSectionDetail_buttonActivePremium__3WvGa\",\"buttonActiveQuality\":\"ChooseExperienceSectionDetail_buttonActiveQuality__jEuGh\",\"iconPremium\":\"ChooseExperienceSectionDetail_iconPremium__bRJy5\",\"iconQuality\":\"ChooseExperienceSectionDetail_iconQuality__Dhxzu\",\"differencePricePremium\":\"ChooseExperienceSectionDetail_differencePricePremium__tFVg_\",\"differencePriceQuality\":\"ChooseExperienceSectionDetail_differencePriceQuality__0bxa3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modalContainer\":\"InfoModalPremium_modalContainer__r_a_6\",\"modalContainerLeft\":\"InfoModalPremium_modalContainerLeft__cS_za\",\"modalContainerLeftTitle\":\"InfoModalPremium_modalContainerLeftTitle__arEcD\",\"modalContainerLeftImage\":\"InfoModalPremium_modalContainerLeftImage__Gd97I\",\"modalContainerLeftFeature\":\"InfoModalPremium_modalContainerLeftFeature__2Pkig\",\"modalContainerLeftFeatureText\":\"InfoModalPremium_modalContainerLeftFeatureText__DTW_D\",\"modalContainerRight\":\"InfoModalPremium_modalContainerRight__44zgu\",\"modalContainerRightTitle\":\"InfoModalPremium_modalContainerRightTitle__5SkVo\",\"modalContainerRightText\":\"InfoModalPremium_modalContainerRightText__snCS6\",\"modalContainerRightUnderelineText\":\"InfoModalPremium_modalContainerRightUnderelineText__DUQ1N\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PackageConfigurationSectionDetail_container__5Go_h\",\"popoverContainer\":\"PackageConfigurationSectionDetail_popoverContainer__0_r_Z\",\"popoverContainerArrow\":\"PackageConfigurationSectionDetail_popoverContainerArrow__4Md_S\",\"popoverContainerText\":\"PackageConfigurationSectionDetail_popoverContainerText__IItlY\",\"packagePriceTitle\":\"PackageConfigurationSectionDetail_packagePriceTitle__bZJhU\",\"packagePricePrice\":\"PackageConfigurationSectionDetail_packagePricePrice__MqJMO\",\"totalRow\":\"PackageConfigurationSectionDetail_totalRow__HrusU\",\"total\":\"PackageConfigurationSectionDetail_total__NVzYw\",\"eur\":\"PackageConfigurationSectionDetail_eur__eIqKo\",\"TotalPrice\":\"PackageConfigurationSectionDetail_TotalPrice__OcHr_\",\"packagePriceRow\":\"PackageConfigurationSectionDetail_packagePriceRow__Wu9vh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Sidebar_container___c50S\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"TravelExperienceSectionDetail_container__8R2N8\",\"containerPackageSection\":\"TravelExperienceSectionDetail_containerPackageSection__RjNFn\",\"package\":\"TravelExperienceSectionDetail_package__h22Wr\",\"packageTitle\":\"TravelExperienceSectionDetail_packageTitle__DQZPM\",\"packageDescription\":\"TravelExperienceSectionDetail_packageDescription__3KE4z\",\"packageQuality\":\"TravelExperienceSectionDetail_packageQuality__pyUHI\",\"packagePremium\":\"TravelExperienceSectionDetail_packagePremium__zMwtr\",\"packageList\":\"TravelExperienceSectionDetail_packageList__gg__i\",\"packageListText\":\"TravelExperienceSectionDetail_packageListText__TdhZP\",\"packageListIconQuality\":\"TravelExperienceSectionDetail_packageListIconQuality__Mwnxa\",\"packageListIconPremium\":\"TravelExperienceSectionDetail_packageListIconPremium__mRqht\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textContainer\":\"DetailDescription_textContainer__Q5CCv\",\"imageContainer\":\"DetailDescription_imageContainer__XCfk2\",\"imageDescription\":\"DetailDescription_imageDescription__niv2d\",\"descriptionDivider\":\"DetailDescription_descriptionDivider__GiNvr\",\"includedActivitiesTitle\":\"DetailDescription_includedActivitiesTitle___QCo0\",\"containerColSize\":\"DetailDescription_containerColSize__Li7r5\",\"colSize\":\"DetailDescription_colSize__IOwvL\",\"spanIconContainer\":\"DetailDescription_spanIconContainer__N01hp\",\"titleAndCarouselContainer\":\"DetailDescription_titleAndCarouselContainer__4cEPn\",\"carouselTitle\":\"DetailDescription_carouselTitle___BD1z\",\"carouselSubtitle\":\"DetailDescription_carouselSubtitle__Kyti2\",\"cardImageContainer\":\"DetailDescription_cardImageContainer__NP1lu\",\"cardImageProfileContainer\":\"DetailDescription_cardImageProfileContainer__bX1G5\",\"imageProfile\":\"DetailDescription_imageProfile__TTFSL\",\"cardStarIcon\":\"DetailDescription_cardStarIcon__HAKfy\",\"starText\":\"DetailDescription_starText___nKN3\",\"cardDataContainer\":\"DetailDescription_cardDataContainer__zhPzu\",\"cardName\":\"DetailDescription_cardName__qBlrp\",\"cardNameItalianExpert\":\"DetailDescription_cardNameItalianExpert__n0rZd\",\"cardItalianExpert\":\"DetailDescription_cardItalianExpert__b4IM1\",\"container\":\"DetailDescription_container__PhPk7\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sectionBorderPremium\":\"DetailFixedBar_sectionBorderPremium__lJuFV\",\"sectionBorderQuality\":\"DetailFixedBar_sectionBorderQuality__dwCnr\",\"cardStarIcon\":\"DetailFixedBar_cardStarIcon__rDknN\",\"cardSecondaryText\":\"DetailFixedBar_cardSecondaryText__iEKVn\",\"starText\":\"DetailFixedBar_starText__aBFbr\",\"cardClockIcon\":\"DetailFixedBar_cardClockIcon__OJXG9\",\"flagContainer\":\"DetailFixedBar_flagContainer__8MJb8\",\"addToCartBoxPrice\":\"DetailFixedBar_addToCartBoxPrice__gVU6e\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"headBgColor\":\"DetailHead_headBgColor__bwxiB\",\"headBgImageContainer\":\"DetailHead_headBgImageContainer__UJS4X\",\"startingPriceStyle\":\"DetailHead_startingPriceStyle__zujgr\",\"customControls\":\"DetailHead_customControls__X1y_L\",\"hideControls\":\"DetailHead_hideControls__gMcQ_\",\"controlButton\":\"DetailHead_controlButton__VqEG_\",\"radialContainer\":\"DetailHead_radialContainer__KspZA\",\"imageFit\":\"DetailHead_imageFit__8kEz3\",\"headPaddingContainer\":\"DetailHead_headPaddingContainer__AUdNZ\",\"headLowerContainerMobile\":\"DetailHead_headLowerContainerMobile__IPoGj\",\"headTitleContainer\":\"DetailHead_headTitleContainer__V8u2v\",\"promoTag\":\"DetailHead_promoTag__Xl22s\",\"playButton\":\"DetailHead_playButton__Cdeo2\",\"headTitle\":\"DetailHead_headTitle__QqlOy\",\"headSubtitle\":\"DetailHead_headSubtitle__Z8bAI\",\"starContainer\":\"DetailHead_starContainer__aRucy\",\"starText\":\"DetailHead_starText__PFpwX\",\"reviewsText\":\"DetailHead_reviewsText__GTpgW\",\"cardSecondaryText\":\"DetailHead_cardSecondaryText__cRvD9\",\"headLowerContainer\":\"DetailHead_headLowerContainer__z8dJ4\",\"headLowerContentContainer\":\"DetailHead_headLowerContentContainer__OQyqp\",\"headRowCardContainer\":\"DetailHead_headRowCardContainer__zS6So\",\"headCardContainer\":\"DetailHead_headCardContainer__B64n_\",\"headIcon\":\"DetailHead_headIcon__RVhuj\",\"headIconSecond\":\"DetailHead_headIconSecond__N9DUP\",\"priceAndLevelContainer\":\"DetailHead_priceAndLevelContainer__W_sfD\",\"cardPriceContainer\":\"DetailHead_cardPriceContainer__ZKka_\",\"cardSecondaryTextBold\":\"DetailHead_cardSecondaryTextBold__spwI5\",\"customSwitch\":\"DetailHead_customSwitch__rVOJH\",\"headCentralContainer\":\"DetailHead_headCentralContainer__9pS42\",\"headInnerContentContainer\":\"DetailHead_headInnerContentContainer__vKgs2\",\"headButtonContainer\":\"DetailHead_headButtonContainer__qkK5M\",\"headCardBorder\":\"DetailHead_headCardBorder__so4eV\",\"headContentContainer\":\"DetailHead_headContentContainer__ipuIQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"DetailHotelCard_container__X8j9z\",\"roomsButton\":\"DetailHotelCard_roomsButton__3G2NZ\",\"overlay\":\"DetailHotelCard_overlay__WUBWO\",\"tagPremium\":\"DetailHotelCard_tagPremium__yLwaN\",\"tagQuality\":\"DetailHotelCard_tagQuality__dnvt1\",\"cardImageContainer\":\"DetailHotelCard_cardImageContainer__bUSTw\",\"imageDescription\":\"DetailHotelCard_imageDescription__UNW6t\",\"cardDataContainer\":\"DetailHotelCard_cardDataContainer__mgpc6\",\"cardName\":\"DetailHotelCard_cardName__W5JAn\",\"cardDataContainer2\":\"DetailHotelCard_cardDataContainer2__q7ih9\",\"starContainer\":\"DetailHotelCard_starContainer__aYwdj\",\"descriptionDivider\":\"DetailHotelCard_descriptionDivider__QTvV5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modalBackground\":\"DetailHotelGallery_modalBackground__6_TAM\",\"galleryContainer\":\"DetailHotelGallery_galleryContainer__SS5e4\",\"interactionSvgSpan\":\"DetailHotelGallery_interactionSvgSpan__EudLl\",\"title\":\"DetailHotelGallery_title__sTtV0\",\"multilineEllipsis\":\"DetailHotelGallery_multilineEllipsis__S9Kb4\",\"subtitle\":\"DetailHotelGallery_subtitle__wHNew\",\"modal\":\"DetailHotelGallery_modal__4Xhnt\",\"interactionSvgSpanDisable\":\"DetailHotelGallery_interactionSvgSpanDisable__ULM2H\",\"starContainer\":\"DetailHotelGallery_starContainer__XbQyb\",\"pointerContainer\":\"DetailHotelGallery_pointerContainer__B9KW2\",\"spanMoreInfo\":\"DetailHotelGallery_spanMoreInfo__njNQ3\",\"cardSecondaryText\":\"DetailHotelGallery_cardSecondaryText__8fkzl\",\"galleryImage\":\"DetailHotelGallery_galleryImage__0L0MS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"DetailRecap_container__6oq1z\",\"bgMobile\":\"DetailRecap_bgMobile__Quxgm\",\"isSticky\":\"DetailRecap_isSticky__J6XjK\",\"smoothScroll\":\"DetailRecap_smoothScroll__oUpdf\",\"customContainer\":\"DetailRecap_customContainer___kEvo\",\"customContainerInner\":\"DetailRecap_customContainerInner__7WLDr\",\"recapDivider\":\"DetailRecap_recapDivider__PwvN_\",\"backToSearchButton\":\"DetailRecap_backToSearchButton__gY0nn\",\"arrowRightSvg\":\"DetailRecap_arrowRightSvg__dKwqZ\",\"spanArrowText\":\"DetailRecap_spanArrowText___NZa9\",\"arrowRightSvgFinal\":\"DetailRecap_arrowRightSvgFinal__NYu4Y\",\"cardStarIcon\":\"DetailRecap_cardStarIcon__rMrP0\",\"starText\":\"DetailRecap_starText__pjiMe\",\"cardClockIcon\":\"DetailRecap_cardClockIcon__9ydpL\",\"cardSecondaryText\":\"DetailRecap_cardSecondaryText___36gq\",\"flagContainer\":\"DetailRecap_flagContainer__oapco\",\"dollarSvgContainer\":\"DetailRecap_dollarSvgContainer__MQEj_\",\"interactionSvgContainer\":\"DetailRecap_interactionSvgContainer__fbJOs\",\"actionsContainer\":\"DetailRecap_actionsContainer__OcDkO\",\"interactionSvgSpan\":\"DetailRecap_interactionSvgSpan__Rfxwm\",\"interactionSvgSpanHeartActive\":\"DetailRecap_interactionSvgSpanHeartActive__F1TMv\",\"interactionSvgSpanHeart\":\"DetailRecap_interactionSvgSpanHeart__cLpHc\",\"navContainer\":\"DetailRecap_navContainer__nIMU9\",\"spanNav\":\"DetailRecap_spanNav__a1O68\",\"spanNavSelected\":\"DetailRecap_spanNavSelected__eIDEw\",\"spanNavFaq\":\"DetailRecap_spanNavFaq__wdF80\",\"reserveButton\":\"DetailRecap_reserveButton__biTm_\",\"reserveButtonDisabled\":\"DetailRecap_reserveButtonDisabled__57IM0\",\"priceSectionPrice\":\"DetailRecap_priceSectionPrice___7mPF\",\"priceSectionPriceLegend\":\"DetailRecap_priceSectionPriceLegend__9E_Xf\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardBorderQuality\":\"Search_Card_cardBorderQuality__MvtWB\",\"cardBorderPremium\":\"Search_Card_cardBorderPremium__Q7aAY\",\"contentPriceBox\":\"Search_Card_contentPriceBox__ilXd_\",\"startingPriceStyle\":\"Search_Card_startingPriceStyle__hdNVo\",\"imageContainer\":\"Search_Card_imageContainer__mHsqi\",\"buttonLike\":\"Search_Card_buttonLike__bBRRG\",\"buttonLikePressed\":\"Search_Card_buttonLikePressed__Yjdta\",\"cardStarIcon\":\"Search_Card_cardStarIcon__VOBXR\",\"starText\":\"Search_Card_starText__lV_dY\",\"cardTitle\":\"Search_Card_cardTitle__vV5h4\",\"cardSecondaryText\":\"Search_Card_cardSecondaryText__h9FEj\",\"cardActivityTitle\":\"Search_Card_cardActivityTitle__9_F0y\",\"cardSecondaryTextBold\":\"Search_Card_cardSecondaryTextBold__nqGUy\",\"spanMoreInfo\":\"Search_Card_spanMoreInfo__WSHKW\",\"spanIconContainer\":\"Search_Card_spanIconContainer__cW5Oq\",\"cardLabelQuality\":\"Search_Card_cardLabelQuality__3e_kg\",\"cardLabelPremium\":\"Search_Card_cardLabelPremium__Hmf76\",\"customSwitch\":\"Search_Card_customSwitch__3OvC2\",\"cardPriceContainer\":\"Search_Card_cardPriceContainer__qBlVV\",\"watchTourButton\":\"Search_Card_watchTourButton__EXfXJ\",\"imageCol\":\"Search_Card_imageCol__PD5Wa\"};"],"names":["window","__NEXT_P","push","__webpack_require__","__webpack_exports__","borderColor","src","alt","className","isSmall","param","imageError","setImageError","useState","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","span","styles","style","position","border","concat","Image","width","height","objectFit","onError","_path","_path2","geotag_path","geotag_path2","keys_path","keys_path2","english_flag_path","english_flag_path2","_path3","_path4","spanish_flag_path","spanish_flag_path2","french_flag_path","french_flag_path2","french_flag_path3","italian_flag_path","italian_flag_path2","italian_flag_path3","_g","_defs","adapterItemGAnalytics","item","variant","item_id","tourId","item_name","tourTitle","item_brand","item_category","tourType","item_variant","price","quantity","tour","itemsAdapted","productQuality","quality","productPremium","premium","currency","value","items","useRelatedTours","id","isPremium","data","tours","useQuery","queryKey","queryFn","getRelatedTours","hooks_useSticky","initialOffset","stickyRef","useRef","sticky","setSticky","offset","setOffset","useEffect","current","offsetTop","handleScroll","condition","scrollY","addEventListener","removeEventListener","detail_InterestedIn","content","jsx_runtime","MDBContainer","fluid","backgroundColor","SectionCarouselLayout","visibleSlides","sectionTitle","interestedInTitle","sectionSubTitle","interestedInSubTitle","breakpointsCarousel","slidesPerView","spaceBetween","isCarouselContained","map","CardTour","_id","tags_TagsPackageType","div","jsxs","stylesCard","socialAndBrandSvg","SketchLine","userInterfaceSvg","StarLine","color","textTransform","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","geotag_extends","keys_extends","english_flag_extends","spanish_flag_extends","french_flag_extends","italian_flag_extends","pointer_extends","detailPackageCustom","Ticket","props","react","createElement","fill","xmlns","d","GeoTag","Keys","English","Spanish","French","Pointer","clipPath","stroke","strokeWidth","strokeLinecap","Italian","HeadBox","packageDetail","days","isMobile","setIsPremium","typePackage","showAccomodations","packageDetailCustomSvg","isMD","useIsMD","isLG","useIsLG","isXL","useIsXL","paddingTop","useMemo","MDBRow","center","MDBCol","size","lg","md","h4","p","destinations","el","city","fontFamily","transformPrice","Number","startingPrice","br","ETypePackage","MDBSwitch","checked","onChange","url","URL","location","href","searchParams","set","history","replaceState","TagsPackageType","defaultProps","detail_PackageDetailHead","videoEl","isPromo","isVideoAvailable","videoPlay","setVideoPlay","error","setError","Play","mediaControlSvg","checkedRating","checkRating","rating","paddingBottom","isPlaying","setIsPlaying","isMuted","setIsMuted","isFullscreen","setIsFullscreen","showControls","setShowControls","shouldRenderImage","hideControlsTimeout","handleVideoPlay","handleVideoPause","handleVolumeChange","muted","handleFullscreenChange","document","fullscreenElement","video","requestFullscreen","onMouseMove","onMouseLeave","display","top","zIndex","borderRadius","transform","transition","marginBottom","controls","autoPlay","title","ref","onEnded","onPlay","clearTimeout","setTimeout","onPause","coverVideo","button","type","onClick","Icon","icon","volumeMuteIcon","volumeUpIcon","pause","play","pauseIcon","playIcon","exitFullscreen","compressIcon","expandIcon","coverImage","MDBBtn","h1","Fragment","starsArray","adventures_box","discover_box","expert_box","WhyChoosePlay","forwardRef","_","dispatch","useStore","state","dispatchPackage","isOnScreen","useOnScreen","randomUid","image","discoverPic","description","expertPic","adventuresPic","whyChoosePlayTitle","titleColumnSize","alignment","classNameContainer","payload","EDetailSection","SectionTitle","xl","detail_PackageDetailNavbarItem","thisSection","handleNavigation","currentSection","packageState","spanClassName","detail_PackageDetailNavbar","isRequestAQuote","router","useRouter","rooms","checkoutState","orderData","totalAmount","isDefault","setIsDefault","deepEqual","useCallback","obj1","obj2","keys1","keys","keys2","includes","arraysAreEqual","arr1","arr2","defaultRoomValue","ERoomType","adults","children","newborns","isSM","useIsSM","clickConfirmDate","PackageDetailNavbarItem","detail_PackageDetailRecap","userDetail","FlagLine","ClockLine","contactsSvg","CoinLine","businessSvg","ShareSquare","ArrowLeftSimpleLine","ArrowRightSimpleLine","StarFilled","HeartLine","shopDestination","useSticky","authType","userState","mutate","toggle","useToggleFavourite","toggleWishlist","dispatchCommon","pathname","query","destination","shallow","navigator","clipboard","writeText","ETypeToastMessage","message","favouriteTours","e","preventDefault","stopPropagation","PackageDetailNavbar","detail_DetailFixedBarMobile","isButtonDisabled","toFixed","Btn","btnType","EBtnType","disabled","modal_ModalCartContainer","modalSize","ModalSize","FULL","show","setShow","isBrowser","setIsBrowser","useDisableBodyScroll","MDBModal","tabIndex","staticBackdrop","MDBModalDialog","centered","undefined","MDBModalContent","MDBModalBody","info_InfoModalDouble","getBody","text","list","ul","listItem","li","bodyContents","listElements","InfoModalContainer","info_InfoModalVideo","info_InfoModalPremium","onBuy","pricePremium","priceQuality","Star","generalSvg","CatPremiumResized","otherSvg","fullWith","DetailBookingSidebar_DatePickerSectionDetail","toggleInfoModal","daysExcluded","discountedDates","startDate","slots","setStartDate","setStartDateView","click","setClick","startDateView","selectedExclusions","toExcludePremium","toExcludeQuality","slotsLastDate","moment","slot","endDate","toDate","h3","stylesCommon","RangeDatePicker","excludeDates","rangeLength","selectedDate","lastDate","setSelectedDate","InfoType","DetailBookingSidebar_ChooseExperienceSectionDetail","differencePrice","showPrice","setShowPrice","onMouseEnter","DetailBookingSidebar_DiscountSectionDetail","dispatchCheckout","setErrorMsg","originalAmount","getOriginalAmount","getTourId","userId","checkCoupon","useMutation","verifyCoupon","onSettled","onSuccess","coupon","discountedAmount","err","ButtonCta","validator","trim","code","placeholder","DetailBookingSidebar_PackageConfigurationSectionDetail","formatPattern","isPets","pets","firstDate","format","split","calculateAdults","reduce","previousValue","currentValue","calculateToddlers","calculateChildrens","languageSelected","clickLanguage","valueCoupon","at","getEndDate","add","DiscountSectionDetail","common_ConvertCurrentCurrency","a","rel","detail_PackageDetailAddToCartBoxInfo","onClickInfo","ConvertCurrentCurrency","cursor","InfoCircleLine","DetailBookingSidebar_FinalPriceSectionDetail","PackageDetailAddToCartBoxInfo","DetailBookingSidebar_ButtonBuySectionDetail","errorGuest","clickDate","setShowModalPremium","ShoppingBag","shoppingSvg","stylesAddToCart","fontSize","DetailBookingSidebar_DetailBookingConfigurator","slotsPremium","slotsQuality","languages","infoContent","setInfoContent","setClickDate","JSON","parse","eccessoList","setEccessoList","setPets","discountAmount","refetch","getExcludedDaysSession","info","dateFormat","getFirstUsefulDate","excludedDates","date","currentDate","found","find","element","sortedExcludedDates","sort","b","diff","excludeDate","currentElement","index","arr","isSame","isAfter","overrideDate","override","overridePremium","overrideQuality","discounted","acc","discount","day","selectedSlot","isBetween","roomStore","overrideDateFind","selectedOverride","roomsOverride","setErrorGuest","showModalPremium","selectedSlotPremium","setErrorMessage","priceTotal","useCalculatePrice","toDateString","isPremiumFlag","queryData","amount","toISOString","room","option","ETourOption","language","checkoutData","stringify","modalsInfo","InfoModalGeneral","priceContent","dateContent","nightsContent","languageContent","extraNightsContent","cancellationPolicyContent","InfoModalDouble","qualityPremiumContent","InfoModalVideo","InfoModalPremium","priceQualityUse","pricePremiumUse","res","roomCurrent","grossPrice","console","log","DatePickerSectionDetail","RoomTravellersSectionDetail","calculateSelectedSlot","idxSlot","ChooseExperienceSectionDetail","PackageConfigurationSectionDetail","FinalPriceSectionDetail","ButtonBuySectionDetail","Link","textDecoration","DetailBooking_PackageDetailBookingMobile","packagePremium","packageQuality","displayBottomMenu","setDisplayBottomMenu","DetailFixedBarMobile","ModalCartContainer","RequestAQuoteForm","activities","requestAQuoteActivities","fromSmallDevices","DetailBookingConfigurator","DetailBookingSidebar_Accordion","extraTitle","isOpen","onItemClick","showDivider","ArrowUpSimpleLine","DetailBookingSidebar_AccordionItemActivity","classNameHeader","DetailBookingSidebar_ActivityIconBody","whatIsIncluded","whatIsIncludedDelta","Accordion","AccordionItem","idx","AccordionItemActivity","name","ActivityIcon","dangerouslySetInnerHTML","__html","QuillDeltaToHtmlConverter","ops","convert","DetailBookingSidebar_Sidebar","ActivityIconBody","detail_PackageDetailDescriptionCard","cardData","coverError","setCoverError","avatarError","setAvatarError","avatar","detail_PackageDetailDescriptionCarousel","italiansExpert","swiperClass","setSwiperClass","cards","PackageDetailDescriptionCard","breackPointCarousel","ButtonBack","ButtonNext","Carousel","breakpoints","detail_PackageDetailDescription","uniq","track","Set","filter","has","results","itineraries","itinerary","flat","converter","whatWillYouSeeDelta","html","h2","whatWillYouSee","whatWillYouSeeImage","xxl","useShouldRenderArrayFC","PackageDetailDescriptionCarousel","DetailBookingSidebar_TravelExperienceSectionDetail","travelExperiencesTitle","subTitle","travelExperiencesSubTitle","PackageDetailBooking","_ref_current","_ref_current_offsetTop","setPrice","PackageDetailDescription","TravelExperienceSectionDetail","PackageDetailBookingMobile","Sidebar","detail_ModalMap","CloseLine","render","setRender","tag","floating","iframe","allow","overflowY","hooks_useForwardRef","initialValue","targetRef","detail_TravelExperiencesStepCard","CalendarLine","LocationLine","moreInfo","setMoreInfo","descriptionDelta","MDBCard","distance","time","hr","ArrowDownSimpleLine","TravelExperiencesStep","travelExperiencesStepSection","useForwardRef","visibleCards","setVisibleCards","showModalMap","setShowModalMap","shouldBeExpandable","shouldAddTransparency","currentIndex","isAllCardsVisible","travelExperiencesTitleGreen","showInfoModal","setShowInfoModal","divColCards","clientHeight","setClientHeight","checkAtlasMap","process","atlasMap","baseUrlAtlasMap","env","NEXT_PUBLIC_ATLASMAP_BASE_URL","flag","resizeObserver","ResizeObserver","observe","disconnect","role","TravelExperiencesStepCard","TagManager","laodMore","scrollTo","behavior","ModalMap","detail_PackageDetailHotelCard","packageAccommodation","hotelGalleryHandler","getStars","Array","from","stars","detail_PackageDetailHotelGallery","currentHotel","readMore","setReadMore","iconImageError","setIconImageError","address","centerInsufficientSlides","classNameCarousel","gallery","prevImageErrors","OvernightAccomodations_OvernightCarousel","resetCarousel","setResetCarousel","OvernightAccommodations","nightDestinations","overNightRef","cityAccommodations","nightDestination","showHotel","premiumHotelsPresent","qualityHotelsPresent","showModal","setShowModal","selectedCity","setSelectedCity","selectedHotel","setSelectedHotel","filterAccommodations","hotels","selectedIndex","handleTabClick","getVisibleCards","PackageDetailHotelCard","accomodationsTitle","accomodationSubTitle","classNameTitle","classNameSubTitle","OvernightCarousel","PackageDetailHotelGallery","PhotoGalleryModal","dynamic","then","ssr","detail_PhotoGallery","photoUrls","ImageLine","defaultImage","indexPhotoClicked","setIndexPhotoClicked","photoLinks","slice","photoGalleryTitle","photoGallerySubTitle","openModal","prevState","onClose","detail_PackageDetailBody","sortedItineraries","initPremium","setIsPromo","accommodationsSection","generalRef","hiwRef","videoReviews","useVideoReviewData","homeData","useHomeData","relatedTours","useRelatedToursData","setTipePackage","areHotelsAvailable","setAreHotelsAvailable","getPackagePremiumQuality","onlyQuality","onlyPremium","getCurrentPackage","first","second","currentSectionOffsetTop","section","pixelToRemove","roomParam","handleHashChange","hashToSearch","asPath","event","newURL","reviewsContainer","tourReviewsEl","getElementById","PackageDetailHead","requestAQuote","endsWith","PackageDetailRecap","Brochures","PhotoGallery","reviews","TourReview","reviewContents","TikTokSection","wordingsDelta","staticMedia","InterestedIn","KeepInTouch","getOpenGraphData","metadata","metaDescription","urlCanonical","images","altHeadImage","altWhatWillYouSeeImage","_slug_","slug","getPackageDetailByTitle","refetchInterval","enabled","prop","adapterTourViewItemGAnalytics","viewItem","Layout","metaTags","seoKeywords","keywords","PackageDetailBody","business","fillRule","clipRule","module","exports"],"sourceRoot":""}